IISを設定する方法が見つかりませんでしたが、asp.netジェネリックハンドラ(http://forums.asp.net/p/1478217/3453189.aspx、gvlahakisの答えにスクロールダウン)を使用して回避策を見つけました。 、上記ハンドラ、あなたが保護する必要があるフォルダごとに一つにしようと
public class DirectoryBrowsingAttempt : IHttpHandler
{
public bool IsReusable {get {return true;}
public void ProcessRequest(HttpContext context) {context.Response.StatusCode = 404;}
}
第二には、ポイント・ディレクトリのブラウジングにweb.configファイルにタグを追加:
まず、404を返すジェネリックハンドラを作成しますhttpHandlersセクションとsystem.webServerセクションの両方にあります。以下のタグは、 "js"という名前のフォルダをルートから保護します。
<httpHandlers>
<add verb="*" path="js/*" validate="false" type="MyNameSpace.DirectoryBrowsingAttempt"/>
</httpHandlers>
<system.webServer>
<handlers>
<add name="NoAccess" verb="*" path="js/*" preCondition="integratedMode" type="MyNameSpace.DirectoryBrowsingAttempt"/>
</handlers>
この回避策は、例えばIIS 7対IIS 6で異なる動作を、私はこのようにサイトの画像が含まれていたフォルダを保護:6は、まだこのフォルダに含まれる画像を配信IIS Webページ(希望の動作、私はちょうどディレクトリ閲覧の試みをブロックしたい); IIS 7はそれらをブロックしました。
web.configの "location"タブを使用して、デフォルトのイメージハンドラを上書きしてイメージを表示できるようにする方法はおそらくありますが、私はウサギの穴から遠くへ行くことを望んでいません。
- 私100%shureではありませんが、これはトピックではなく、[SuperUser](http://superuser.com/)に属していると思います。 – makim
サーバー設定の質問として、SuperUserの代わりにServerFaultをお勧めします。 –
私はServerFaultおかげさまで、あなたの提案ごとにそのサイトについて知りませんでした。 –