1、aspx中

在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。

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

方法1:

在.aspx文件头中加入这句:

<%@ Page validateRequest="false"  %>

方法2:

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

修改web.config文件:

<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。

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

protected void Page_Error(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (ex is HttpRequestValidationException)
        {

    Response.Write("请您输入合法字符串。");
            Response.Redirect("error.aspx");
            Server.ClearError();
        }
    }

2、 ashx中

方法3:

web.config里面加上

<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>

因为4.0的验证在HTTP的BeginRequest前启用,因此,请求的验证适用于所有ASP.NET资源,aspx页面,ashx页面,Web服务和一些HTTP处理程序等.

最新文章

  1. Node.js包管理器Yarn的入门介绍与安装
  2. 做web开发和测试,修改hosts指定某个域名访问某个特定的IP后,如何使hosts立即生效的方法
  3. 后缀数组:倍增法和DC3的简单理解
  4. 在VS的EF中连接MySQL
  5. Android菜鸟成长记8 -- 布局实践(微信界面的编写)
  6. Java Se :Map 系列
  7. Ubuntu terminal 不见了
  8. CentOS搭建svn服务器支持https访问
  9. 从零开始学习Linux(cp 命令)
  10. The Administration Console(管理员控制台)
  11. Page Object 模式编写UiAutomator脚本
  12. SGU 294 He&#39;s Circles
  13. MIFARE系列6《射频卡与读写器的通信》
  14. iOS 图片水印、图片合成文字或图片实现
  15. JS中的函数、Bom、DOM及JS事件
  16. [SDOI2008]烧水问题
  17. Python简易web服务
  18. C# name scheme
  19. Android 开发日常积累
  20. Nginx随笔

热门文章

  1. POJ 3268 Silver Cow Party 最短路径+矩阵转换
  2. 对于分类问题的神经网络最后一层的函数:sigmoid、softmax与损失函数
  3. 【Python编程:从入门到实践】chapter3 列表简介
  4. python中的logger模块详细讲解
  5. css的样式
  6. LINUX ifconfig 命令详解
  7. loganalyzer
  8. mysql 数据字典
  9. 60. vbe6ext.olb 不能被加载
  10. VBA 选择文件