UrlScan 3.1 が有効になっている IIS 8 で実行されている ASP.NET MVC Web サイトがいくつかあります。また、未処理の例外をキャッチしてデータベースのログ テーブルに書き込む、これらの Web サイトでいくつかのログを有効にしています。
これらの Web サイトから、次のような多くの例外が見つかりました。
System.Web.HttpException
The controller for path '/Rejected-By-UrlScan' was not found or does not implement IController.
自分のログを見ると、このエラーを生成したリクエスト URL が次のようになっていることがわかります (実際のドメインはサンプルに置き換えられています)。
/Rejected-By-UrlScan?~//https://mywebsite.com/login/login/?aspxerrorpath=/Rejected-By-UrlScan
何がこの要求を実際にトリガーしたのか分からないので、UrlScan が生成するログ ファイルを調べました。一部の URL が拒否される理由はたくさんあります。いくつかの例を次に示します。
2014-02-11 02:42:29 119.147.146.189 4 GET //https://mywebsite.com/login/login Rejected extension+not+allowed file+extension .com -
2014-02-11 02:42:32 119.147.146.189 4 GET //https://mywebsite.com/login/login/?aspxerrorpath=/Rejected-By-UrlScan Rejected URL+contains+dot+in+path URL - -
2014-02-11 02:42:37 119.147.146.189 4 GET //https://mywebsite.com/scripts/jquery-1.9.1.min.js Rejected URL+contains+dot+in+path URL - -
2014-02-11 08:24:19 79.122.154.178 6 OPTIONS /Content/Styles/ Rejected verb+not+allowed HTTP+method - -
これらのログ ファイルから理解できないのは、URL が拒否された場合、なぜ私の Web サイトは引き続き機能するのでしょうか?
したがって、これに基づいて2つの質問があります。
- これらの拒否された URL について心配する必要がありますか? 特定のことを許可/拒否するように UrlScan を構成できることは承知していますが、できることならあまりいじりたくありません。
- UrlScan を構成どおりに動作させる必要がある場合、MVC Web サイトがこれらのルーティング エラーを生成しないようにする方法はありますか? それらは現在、私のログ テーブルの多くを占有しており、心配する必要がある重大なエラーとは見なされません。たとえば、ルートを無視できることはわかっていますが、必要な構文がわかりません。