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

  • 相关阅读:
    phalapi框架where条件查询
    yii2学习网站
    改变yii2 $form最外层div样式
    PHP库(数据抓取)
    yii框架场景的用法
    Yii框架数据查询
    更改控制台编码格式
    打开yii2控制台命令
    过滤器实现登录拦截
    SSM整合
  • 原文地址:https://www.cnblogs.com/kingfly/p/1619978.html
Copyright © 2011-2022 走看看