前些日子作項目的時候遇到一個問題,在ASP.NET 中使用JQuery的AJAX調用通常處理程序ashx出錯,在處理程序中錯誤提示以下:從客戶端(Text="<img alt="" src="htt…")中檢測到有潛在危險的Request.Form值。後來關閉網頁的請求驗證解決了這個問題。web
要解決HttpRequestValidationException異常中提示的潛在危險值的方法,有兩種方法能夠解決:安全
方法一:控制用戶輸入的內容,防止用戶發送HTML代碼、JavaScript腳本等可能具備惡意或攻擊性的數據。若是用戶發送了這些潛在危險的數據,就會致使HTTP請求沒法經過網站的安全驗證,觸發HttpRequestValidationException異常。編輯器
方法二:若是肯定是在安全的環境下(好比本身的後臺管理界面),並且又須要用到CKeditor、Tiny MCE等這些網頁編輯器編輯HTML內容,就能夠關閉ASP.NET的HTTP請求驗證。網站
在向ashx通常處理程序發送AJAX的頁面中,設置Page屬性ValidateRequest="false":spa
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication13.WebForm1" %>
同時要檢查本身的ASP.NET網站使用.Net Framework版本,若是是4.0以上的版本還須要在web.config配置文件中設置HTTP的驗證模式爲2.0,不然ValidateRequest將不起做用:code
<system.web> <httpRuntime requestValidationMode="2.0"/> </stytem.web>