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


    使用VS2010開發WEB系統時,ASP.NET請求驗證功能可以為我們自動辨別來自客戶端提交的數據,避免站點受到XSS的攻擊。但是在一些特殊情況下,比如我們使用富文本編輯器讓用戶輸入一篇新聞,新聞內容包括文字,圖片等,還有排版格式等,當客戶端將文本內容提交給服務器時,服務器如果辨識出文本中包含有一些不被允許的特殊字符或者標簽,將阻止內容的提交。但是這部分內容是用戶的“合法輸入內容”,這時候的請求驗證勢必是多余的。所以為了應對這種問題,我們可以采用以下處理方式。
 
第一種情況:WEB應用程序開發中
(1)在全局配置文件webconfig中添加配置:<httpRuntime requestValidateMode="2.0">
比如:
<system.web>
  < httpRuntime requestValidationMode ="2.0 " />
</system.web>
(2)在包含有富文本編輯器頁面上添加屬性:ValidateRequest="false"
比如:
<% @ Page ValidateRequest="false" %>
 
第二種情況:MVC應用程序開發中
(1)在全局配置文件webconfig中添加配置:<httpRuntime requestValidateMode="2.0">
比如:
< system.web>
  < httpRuntime requestValidationMode = "2.0 "  />
</ system.web>
(2)在包含有富文本編輯器的視圖對應的Controll中添加屬性:ValidateInput(false)
比如:
[ HttpPost]
[ ValidateInput(false )]
public ActionResult NewsEdit( FormCollection form)
{}
 
備注:上面的開發環境是VS2010,ASP.NET 4.0,MVC3.0。
 
 


免責聲明!

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



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