程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> validateRequest 危險字符串過濾

validateRequest 危險字符串過濾

編輯:.NET實例教程


由於在.Net中,Request時出現有Html或Javascript等字符串時,系統會認為是危險性值。立馬報錯。


解決方案一:    
在.ASPx文件頭中加入這句:    
<%@  Page  validateRequest="false"    %>   


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

  
因為validateRequest默認值為true。只要設為false即可。

==========

如果未關閉ValidateRequest時,用以下ASP.Net代碼進行危險捕獲和提示:

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved