zoukankan      html  css  js  c++  java
  • validateRequest 危险字符串过滤

    由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错。 

     
    解决方案一:   
    在.aspx文件头中加入这句:   
    <%@  Page  validateRequest="false"    %>   


    解决方案二:   
    修改web.config文件:   
    <configuration>   
       <system.web>   
           <pages  validateRequest="false"  />   
       </system.web>   
    </configuration>  

     
    因为validateRequest默认值为true。只要设为false即可。

    ==========

    如果未关闭ValidateRequest时,用以下代码进行危险捕获和提示:

        protected void Page_Error(object sender, EventArgs e)
        {
            Exception ex = Server.GetLastError();
            if (ex is HttpRequestValidationException)
            {
                Response.Write("输入的内容中有危险字符,比如<>等");
                Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
            }
        }

      //检查代码,把代码转义成html代码形式
        protected void Button1_Click(object sender, EventArgs e)
        {
            // 将输入字符串编码,这样所有的HTML标签都失效了。
            StringBuilder sb = new StringBuilder(HttpUtility.HtmlEncode(ftbContent.Text));

       // 然后我们选择性的允许<b> 和 <i>
        sb.Replace("&lt;b&gt;", "<b>");
        sb.Replace("&lt;/b&gt;", "");
        sb.Replace("&lt;i&gt;", "<i>");
        sb.Replace("&lt;/i&gt;", "");

            ftbContent.Text = sb.ToString();
        }

  • 相关阅读:
    Python程序员用文字加密的方式,给女程序员写情书,一周后牵手回家
    小学生在网吧用python抓取LOL英雄皮肤,步骤简单
    vuex中module的命名空间概念
    动态设置html的font-size值
    JavaScript判断各种数据类型
    vuex脑图
    作用域链和函数内部this指向问题以及bind、call、apply方法
    BOM
    jQuery_base
    js_base_note
  • 原文地址:https://www.cnblogs.com/kingfly/p/1619978.html
Copyright © 2011-2022 走看看