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

  • 相关阅读:
    JS中iframe子页面与父页面之间通信
    .NET 大数据量并发解决方案
    angular的性能分析 -随记
    第二次作业
    自我介绍
    总结作业
    2019春第四次课程设计实验报告
    2019春第三次课程设计实验报告
    2019春第二次课程设计实验报告
    第十二周作业
  • 原文地址:https://www.cnblogs.com/kingfly/p/1619978.html
Copyright © 2020-2023  润新知