2014-01-14 205 views
5

我有一個在IIS 7.5上運行了幾個星期的ASP.NET MVC 4 Web應用程序,我注意到最近我一直在相當多的以下錯誤:
System.Web.HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (?). at System.Web.HttpRequest.ValidateInputIfRequiredByConfig() at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

我知道這個異常是當URL路徑包含非法字符,但奇怪的是,在我的情況下,該URL是有效的。以下是網址的一個示例:www.mysite.com/myApp/bookTitle?chapter=12&page=278

但是,當我嘗試任何報告的鏈接,他們工作正常,沒有任何例外。從客戶端(?)檢測到有潛在危險的Request.Path值,並且URL有效

通過查看錯誤日誌,我注意到,查詢字符串不顯示爲QUERY_STRING變量的一部分,但它與路徑在PATH_INFO變量,它看起來像這樣的其餘一起列入:
/myApp/bookTitle?chapter=12&page=278。 因此,似乎(?)不被識別爲路徑和查詢之間的分隔符(可能是因爲某種URL編碼),但我不確定如何解決此問題。

任何幫助將不勝感激。

+0

可能重複? http://stackoverflow.com/questions/14475913/url-routing-image-handler-a-potentially-dangerous-request-path-value – StuartLC

+0

可能的重複[從客戶端檢測到潛在危險的Request.Path值(\ *)](http://stackoverflow.com/questions/5967103/a-potentially-dangerous-request-path-value-was-detected-from-the-client) – Marijn

+2

@ Marijn這是不是這樣,因爲我沒有在URL路徑中包含任何特殊字符.. – NightOwl89

回答

1

當ASP.NET收到帶'?'的請求時,字符編碼爲'%3F'它給出了這個錯誤信息。同時它將'%3F'解碼爲'?'字符在Request [「PATH_INFO」]或Request.PathInfo變量中。

如果你看看Request [「HTTP_URL」]或Request.Url.OrigionalString,你可能會看到不同的東西。

0

確保單個代碼: 我也遇到了與該錯誤相同的問題。 以下是我的正確代碼段:

titleNew = string.Format(「{1}」,idx,resource.Title);

相關問題