Azureクラウドサービスで実行されているMy MVC 5 Webアプリケーションが、「潜在的に危険なRequest.Path値がクライアント(:)から検出されました」という例外が発生してクラッシュしました。 http://myExampleHost.com/m:443/templatesWeb潜在的なクラッシュを避けるために潜在的に危険なRequest.Path値がクライアント(:)から検出されました。
URL内のコロンは、パスの検証を渡すことはできません。
このクラッシュの原因は、いくつかのサードパーティ(多分悪意のある)は、URLで自分のエンドポイントを打ちました。
一部の回答(A potentially dangerous Request.Path value was detected from the client (*))は、検証ルールの変更を提案しています。しかし、セキュリティ上の懸念から、我々はこれを妥協したくないかもしれません。
私たちは例外をキャッチしてログに記録し、クラッシュすることなくいくつかのエラーメッセージを返します。私たちはどうすればいいのですか?
より一般的な質問は次のようなものです:リクエストがMVCのコントローラにヒットする前に例外をキャッチする方法は?
私は自分自身にエラーを電子メールで送信し、ユーザーに一般的なエラーを表示することで、非常に似たようなことをしています。どうすればこのエラーを特定できますか?我々は最近、特定の他の関数のために特に 'HttpRequestValidationException'をキャッチする必要があり、このエラーを特に捕まえる方法を見つけたいと思っていました。 – RoLYroLLs