创建一个包含类似有输入页面的ASP.NET MVC3程序,输入框中需要可以输入HTML标记,假如没有使用某种方式禁用Request Validation,那么如果从客户端检测到有潜在危险的Request.Form值,例如Name输入框输入了<br>,
点击Create,则会出现如下错误提示:
Request Validation是防止有人通过注入脚本攻击我们的应用程序(XSS)。如果我们的应用程序需要用户可以输入HTML标记,我们可以禁用Request Validation.
ASP.NET MVC2中可以使用Action方法的ValidateInpute属性禁用Model的所有字段的验证,如果只是想禁用某个字段的验证,则可以使用MVC3中的AllowHtml属性实现。
public class Account
{
[AllowHtml]
public string Name{get;set;}
}
{
[AllowHtml]
public string Name{get;set;}
}