zoukankan      html  css  js  c++  java
  • @page指令 validateRequest的作用

        在 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();
            }

        }
    复制代码
    码农都是有尊严的 转载请注明来源,谢谢 http://www.cnblogs.com/benpao/
  • 相关阅读:
    aws-lambda之异步实现文件的下载上传
    aws实例部署flask报错script-timed-out-before-returning-headers-application-py
    aws上部署scrapy,出现 Out of Memory,内存溢出
    在线UserAgent,爬虫UA
    ubuntu10.24 下安装 unixODBC coreseek4.1 手记
    ubuntu12.04 安装 python2.6
    coreseek/sphinx CentOS6.4下安装
    Elasticsearch 6.2.3 崩溃经历
    (转)梳理在线教育的几大金矿
    kangaroo-open 开源在线公开课平台
  • 原文地址:https://www.cnblogs.com/benpao/p/3383252.html
Copyright © 2011-2022 走看看