從客戶端(&)中檢測到有潛在危險的 Request.Path 值


首先,這個問題出現在 ASP.NET MVC 應用程序中,所以下面的解決方式都是在這個環境下。

關於這個問題,網上又很多的答案,當時也搜了一些:

  1. A potentially dangerous Request.Path value was detected from the client (*)
  2. ASP.NET MVC “Potentially dangerous Request.Path” with valid URL
  3. 從客戶端(&)中檢測到有潛在危險的 Request.Path 值解決方案
  4. 從客戶端(?)中檢測到有潛在危險的 Request.Path 值

以上資料,僅供參考,危險字符除了“&”,還有“?,/,<,>”等,解決方式五花八門,有使用 Server.UrlEncode 進行轉碼的,有 [ValidateInput(false)] 對 Action 進行配置的,有 pages validateRequest="false" webconfig進行配置的等等,各種方式都試了一下,最后還是一行配置搞定。

<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />

需要說明的是,如果對 requestPathInvalidCharacters 進行配置的話,比如 requestPathInvalidCharacters="<,>,%,&,:,,?",那么在危險字符進行忽略的時候,只會忽略 requestPathInvalidCharacters 中進行指定的字符,不指定的話,就會忽略全部字符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM