從客戶端檢測到潛在危險(xiǎn)的Request.Form值每當(dāng)用戶在我的Web應(yīng)用程序中發(fā)布包含<或>在頁面中的內(nèi)容時(shí),我都會(huì)拋出此異常。我不想進(jìn)入關(guān)于拋出異?;虮罎⒄麄€(gè)Web應(yīng)用程序的聰明性的討論,因?yàn)橛腥嗽谖谋究蛑休斎肓艘粋€(gè)字符,但我正在尋找一種優(yōu)雅的方法來處理這個(gè)問題。捕獲異常并顯示發(fā)生錯(cuò)誤請(qǐng)返回并重新輸入整個(gè)表單,但這次請(qǐng)不要使用<對(duì)我來說似乎不夠?qū)I(yè)。禁用post validation(validateRequest="false")肯定會(huì)避免此錯(cuò)誤,但它會(huì)使頁面容易受到許多攻擊。理想情況:當(dāng)發(fā)回包含HTML限制字符的回發(fā)時(shí),F(xiàn)orm集合中的已發(fā)布值將自動(dòng)進(jìn)行HTML編碼。所以.Text我的文本框的屬性將是something & lt; html & gt;有沒有辦法可以從處理程序中執(zhí)行此操作?
4 回答

ibeautiful
TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您使用的是.NET 4.0,請(qǐng)確保將其添加到標(biāo)記內(nèi)的web.config文件中<system.web>
:
<httpRuntime requestValidationMode="2.0" />
在.NET 2.0中,請(qǐng)求驗(yàn)證僅應(yīng)用于aspx
請(qǐng)求。在.NET 4.0中,這擴(kuò)展到包括所有請(qǐng)求。您可以通過指定以下內(nèi)容恢復(fù)為僅在處理時(shí)執(zhí)行XSS驗(yàn)證.aspx
:
requestValidationMode="2.0"
您可以通過指定完全禁用請(qǐng)求驗(yàn)證:
validateRequest="false"
- 4 回答
- 0 關(guān)注
- 749 瀏覽
添加回答
舉報(bào)
0/150
提交
取消