IIS7.5を介してホストされているDotNet2.0Webサイトに、引き続きアクセス可能である必要のあるファイルを含むフォルダーの存在を非表示にできるようにしたいと思います。たとえば、ある人のWebブラウザがファイルdomain.com/css/style.css(ページのレンダリングに必要)を取得できるようにしたいのですが、その人がURLにアクセスしようとした場合domain.com/css/またはdomain.com/css404エラーを受信してほしい。(403エラーではありません)
デフォルトでは、IIS 7.5は403エラーを出しますが、それでも攻撃者はフォルダの存在を知ることができます。攻撃者は、ブラウザでサイトにアクセスし、ファイルが「css」フォルダからプルされていることを確認することで、「css」フォルダの存在を簡単に発見できることに気付きました。そうは言っても、これは私が従わなければならないプロジェクトの要件です。
IIS6では、以前は必要な404動作を提供するフォルダーの非表示属性を設定できましたが、IIS7.5ではこれが当てはまりません。(これを実行しようとすると、IIS 7.5で500エラーが発生します)IIS 7.5は、このプロジェクトのもう1つの要件です。また、IIS6では、すべての要求がDotNetを介してルーティングされるようにするワイルドカードマッピングを作成して、404を作成できるようにしたいのですが、これもIIS7.5では機能しないようです。
web.config(ノード)でハンドラーを作成しようとしましたが、これはステージングシステムでは機能しますが、本番システムでは機能しません。また、ac#ハンドラーを作成し、非表示にするフォルダーごとにweb.configにハンドラーエントリを設定する必要があるため、この方法はやり過ぎのようです。もっと簡単な解決策が欲しいのですが、その解決策は私の本番システムでは機能しないようです。
理想的には、末尾のスラッシュを含まないフォルダーへの要求は、301リダイレクトを引き起こさないはずですが、404も引き起こすはずです。