![](/img/trans.png)
[英]ASP.NET 4.5 A potentially dangerous Request.Form value was detected from the client
[英]C# ASP.NET MVC Manually Accessing Request.Form & Potentially Dangerous values
我正在序列化並保存表單,並針對每個用戶請求將字符串數據查詢到數據庫中。 這個特定的提交模型已經具有[AllowHtml]屬性,並可以向控制器提交。 問題出在我記錄請求的Global.asax文件內部,當我訪問此表單值時出現異常:
“從客戶端檢測到一個潛在危險的Request.Form值(...)。”
protected void Application_PostRequestHandlerExecute(Object sender, EventArgs e)
{
...
var serializer = new JavaScriptSerializer();
var formData = (Request.Form.Count == 0) ? "" : serializer.Serialize(Request.Form.AllKeys.Where(x => x != null).ToDictionary(k => k, k => Request.Form[k]));
...
}
當它嘗試訪問包含無效字符的Request.Form [k]時,將引發錯誤。
使用Request.Form[]
訪問值將觸發請求驗證(因此發生異常)。 您可以使用HttpRequest
的Unvalidated
屬性來獲取請求值,而無需觸發驗證。
更換
Request.Form[k]
與
Request.Unvalidated.Form[k]
謹慎使用-來自文檔 :
安全說明:如果使用此屬性,則必須手動檢查數據以防潛在的跨站點腳本攻擊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.