在ASP.NET请求验证功能提供了对跨站点脚本(XSS)攻击的保护。ASP.NET的早期版本仅仅在ASP.NET页执行。
在ASP.NET 4请求验证启用了所有的请求,因为它在HTTP的BeginRequest前启用,因此,请求验证适用于所有ASP.NET资源,而不仅仅是.aspx页。包括如Web服务和自定义HTTP处理程序。
要恢复到2.0的ASP.NET请求验证功能的行为,要在以下设置 Web.config中 文件添加:
<httpRuntime requestValidationMode="2.0" />
否则,即使在页面代码中添加validaterequest="false"也不起作用。其实验证不在页面加也可以,可以在webconfig中配置,如下:
<httpRuntime requestValidationMode="2.0"/>
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false"/>