從客戶端中檢測到有潛在危險的 Request.Form 值

最近在做項目中出現了一個這麼的問題,就是前臺像後臺傳過去的參數有一個是html格式的,結果就出現了從客戶端中檢測到有潛在危險的 Request.Form 值這個問題了,百度了下,解決方案無非就是2種:

由於在.net中,Request時出現有HTML或Javascript等字符串時,系統會認爲是危險性值。立馬報出“從客戶端 中檢測到有潛在危險的Request.Form值”這樣的錯。

   解決方案一: 
   在.aspx文件頭中加入這句: 
   <%@ Page validateRequest="false" %>
eg:<%@ Page Language="C#" AutoEventWireup="false" ValidateRequest="false" CodeFile="你的頁面.vb" Inherits="你的頁面" %>

   解決方案二: 
   修改web.config文件: 
   <configuration> 
   <system.web> 
   <pages validateRequest="false" /> 
   </system.web> 
   </configuration> 
   因爲validateRequest默認值爲true。只要設爲false即可。

上面2種方案我都測試了,應該沒有適合我的項目,結果都不行,於是我想到了編碼,於是在js裏面就html字符串進行了編碼 

var test= encodeURI("<p>測試</p>");

那麼再傳過去就沒有這個問題了,那麼只需要後臺進行解碼就行了

string s= Server.UrlDecode(’要解碼的參數‘);

最好得到的s也就是<p>測試</p>了







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章