1. 程式人生 > >ASP.NET 4.0驗證請求 System.Web.HttpRequestValidationException: A potentially dangerous Request.F

ASP.NET 4.0驗證請求 System.Web.HttpRequestValidationException: A potentially dangerous Request.F

asp.net oss 程序 sys validate time 拷貝 bsp 包括

System.Web.HttpRequestValidationException: A potentially dangerous Request.F

在使用類似eWebedtior 拷貝內容進去的時候會帶入 <>

在保存的時候會失敗

解決方法如下:

當頁面輸入框默認情況下輸入“<”或者“>”的時候。按照訪問策略,這將導致一些安全問題,諸如:跨站腳本攻擊(cross-site scripting attack)。而這個問題的更準確描述則是,當你在安裝了.NET Framework 4.0以上版本後,當你的應用程序以.NET Framework 4.0為框架版本,你的任意服務器請求,都將被進行服務器請求驗證(ValidationRequest),這不僅包括ASP.NET,同時也包括Web Services等各種HTTP請求,不僅僅針對aspx頁面,也針對HTTP Handler,HTTP Module等,因為這個驗證(Valify)的過程,將會發生在BeginRequest事件之前。

基於以上原理,在ASP.NET之前的版本中,請求驗證也是默認開通的,但是發生在頁面級(aspx)的,並且只在請求執行的時候生效,因此,在舊的版本中,我們只需要按以下方式配置即可:

在頁面級別(aspx中)設置
ValidateRequest="false"
或者
在全局級別(Web.config中)設置
<configuration>
<system.web>
<pages validateRequest="false">

但是,以上設置僅對ASP.NET4.0以上有效。在ASP.NET4.0版本上,我們需要更多一行的配置:

在全局級別(Web.config中)設置

<configuration>
<system.web>
<httpRuntime requestValidationMode="2.0">

ASP.NET 4.0驗證請求 System.Web.HttpRequestValidationException: A potentially dangerous Request.F