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

  • 相关阅读:
    properties文件作用以及在哪些地方用
    UUID.randomUUID().toString() 的作用
    devops简介
    Redis数据库
    锁方面区别
    python如何操作git
    使用django实现websocket
    迁移与备份
    服务端主动给客户端推送消息
    使用vim登录root管理员用户显示su:鉴定故障
  • 原文地址:https://www.cnblogs.com/kingfly/p/1619978.html
Copyright © 2011-2022 走看看