在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。其他类型的恶意数据或不需 要的数据可以通过各种形式的输入在请求中传入。通过在应用程序中的较低级别限制允许通过的数据类型,就可以阻止不希望的事件,即使当使用代码的程序员没有 恰当地使用合适的验证技术时也是如此。

当请求验证检测到潜在的恶意客户端输入时,会引发此异常来中止请求处理。请求中止能够指示危害您的应用程序安全的企图,例如跨站点脚本攻击。强烈建议让您的应用程序显式地检查与请求中止有关的所有输入。不过,您也可以通过将 @ Page 指令中的 validateRequest 属性设置为 false 来禁用请求验证,如下面的示例所示:

<%@ Page validateRequest="false" %>

要禁用应用程序的请求验证,必须修改应用程序的 Web.config 文件或创建一个 Web.config 文件,并将 pages 节的 validateRequest 属性设置为 false,如下面的示例所示:

<configuration> 
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>

要禁用服务器上所有应用程序的请求验证,可以对 Machine.config 文件作此修改

还有一步是在page中在onerror事件中加入处理:


    protected void Page_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (ex is HttpRequestValidationException)
        {
            Response.Redirect("Default.aspx");
            Server.ClearError();
        }
    }

最新文章

  1. 在线免费生成 &lt;IDEA&gt;全系列 注册码
  2. 史上最详cxf-Springmvc-maven实现webservice教程(转)
  3. linux性能指令分析进阶篇
  4. 破解TP-Link路由-嗅探PPPoE拨号密码
  5. Operation is not valid due to the current state of the object.
  6. C# 线程数
  7. 程序员都会的 35 个 jQuery 小技巧
  8. what oop ?
  9. ios 判断,qq,银行卡,手机号,邮编,生日,数字,字符串,护照, email
  10. Spring框架下的单元测试
  11. bash中声明变量方法
  12. Newtonsoft.Json日期转换
  13. 设置 WPF 的内容支持触摸直接滚动
  14. 19/03/13python学习笔记
  15. css怎么让页面上的内容不能被选中
  16. node+koa2 向页面传值方式
  17. Partition Array into Disjoint Intervals LT915
  18. 一次对路边饮用水RFID供应机的跑路玩法
  19. 【bzoj5118】Fib数列2 费马小定理+矩阵乘法
  20. Pointer Lock

热门文章

  1. 20145212 罗天晨 MSF基础应用
  2. 前后台分离开发--文件上传与下载,cookie,session
  3. 【Python020--内嵌函数和闭包】
  4. topcoder srm 555 div1
  5. 探究is与==的区别
  6. Nginx 安装及配置
  7. hihoCoder week15 最近公共祖先&#183;二
  8. Java 字符串拆分(拆分字符串)
  9. Ubuntu yindaoxiufu 引导修复(Boot Repair)
  10. Docker:Stacks