[BILL WEI] A potentially dangerous Request.Path value was detected from the client 異常處理辦法

咱們在ASP.net中使用URL導向後, 咱們在訪問某個地址,或者打開某個系統頁面的時候,就會報錯誤: web

A potentially dangerous Request.Path value was detected from the clientui

at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()  spa

at System.Web.HttpApplication.ValidateRequestExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  .net

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)xml

這是由於上述地址中有*這個特殊字符存在。blog

若是你想不讓ASP.net 替你攔截這些特殊字符,你須要設置以下Web.config的節:get

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<httpRuntime requestPathInvalidCharacters="" />
</system.web>
</configuration>

注意其中的requestPathInvalidCharacters 它是一個以逗號分隔的無效字符列表。不設置它時,它默認的無效字符集(以,分割)是後面7個:<,>,*,%,&,:,/io

即,不設置這個屬性,默認就是以下設置:cli

<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web>
<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,:,&amp;,/" />
</system.web>
</configuration>

若是你想這些字符所有不受限制,就應該設置 requestPathInvalidCharacters="" , 若是是部分字符受限制,部分字符不受限制,就須要在 requestPathInvalidCharacters 中設置須要受限制的字符,不受限制的不用設置。date

 

 

轉載:http://blog.csdn.net/ghj1976/archive/2010/06/29/5701277.aspx

相關文章
相關標籤/搜索