2014-01-14 59 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が有効であることです。 URLの一例を次に示します:www.mysite.com/myApp/bookTitle?chapter=12&page=278

しかし、報告されたリンクのいずれかを試してみると、正常に動作しており、例外もありません。エラーログを見ることによって有効なURLでクライアント(?)から潜在的に危険なRequest.Path値が検出されました

私は、クエリ文字列は、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);

関連する問題