System.Web.HttpRequestValidationException——从客户端检测到危险的Request值
這是比較常見的問題了,如果Web表單中有輸入類似于Html標簽之類的文本,在通過Request.QueryString或者Request.Form傳遞這些值的時候,就會觸發這樣的異常,出于腳本注入等安全性考慮,這也是合情合理的。
一般情況下,程序應盡量過濾掉,或者禁止表單上類似的輸入,如果業務上非得有這樣的要求,需要輸入標簽性的文本,可以考慮在數據向服務器端傳遞前,將一些敏感字符按照約定規則替換掉,向客戶端輸出時,再還原出原始文本。
?????????以上是個人認為比較正確的做法,當然就解決眼前問題而言,我看到的都是偷懶的、不計后果的做法,我得承認自己是個只要有偷懶的可能就絕不肯多費功夫的家伙,那就來吧,如果是Asp.Net WebForm應用程序,我記得以前好像在哪里寫過,就是在aspx文件的page指令上添加ValidateRequest=false?屬性值,這是對單一表單的做法,要想作用于更廣泛的Web表單,自然是在webconfig文件中做相同的設置。另外,如果是Asp.Net MVC應用程序,則需要在webconfig的<system.web>配置節中加上<httpRuntimerequestValidationMode="2.0"></httpRuntime>配置,之后,再在Controller或者Action頭上添加[ValidateInput(false)]的標識,區別大家知道的,作用域不同而已,這里說的Asp.Net MVC是基于Framework4.0的環境的,Framework3.5下沒試過,想來差不多。
總結
以上是生活随笔為你收集整理的System.Web.HttpRequestValidationException——从客户端检测到危险的Request值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最是一年春好处读音(最是一年春好处)
- 下一篇: Microsoft Visual Stu