Nie mogłem znaleźć sposobu na skonfigurowanie usług IIS, ale znalazłem obejście za pomocą ogólnego programu obsługi asp.net (http://forums.asp.net/p/1478217/3453189.aspx, przewiń w dół do odpowiedzi gvlahakisa).
Najpierw utwórz rodzajowe obsługi, która zwraca 404:
public class DirectoryBrowsingAttempt : IHttpHandler
{
public bool IsReusable {get {return true;}
public void ProcessRequest(HttpContext context) {context.Response.StatusCode = 404;}
}
drugie, dodać tagi do pliku web.config do punktu przeglądania katalogów próbuje powyższego przewodnika, po jednym dla każdego folderu, który trzeba chronić, w sekcjach httpHandlers i system.webServer. Poniższe tagi chronią folder o nazwie "js" od katalogu głównego.
<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>
To rozwiązanie zachowuje się inaczej IIS 6 porównaniu IIS 7. Na przykład, chroniony folder obrazów zawartych w witrynie w ten sposób: IIS 6 nadal dostarczane obrazów znajdujących się w tym katalogu do strony internetowe (pożądane zachowanie, chcę po prostu zablokować próby przeglądania katalogu); Usługi IIS 7 je zablokowały.
Są prawdopodobnie sposoby użycia zakładki "lokalizacja" w pliku web.config, aby umożliwić wyświetlanie obrazów poprzez przesłonięcie domyślnego programu obsługi obrazu, ale nie mam ochoty iść tak daleko w dół króliczej dziury.
jestem nie 100% shure, ale myślę, że to nie jest temat i należy do SuperUsera (http://superuser.com/) – makim
Polecam ServerFault zamiast SuperUser, ponieważ jest to pytanie konfiguracyjne serwera –
Pisałem pytanie na ServerFault według twojej sugestii, dzięki, nie wiedziałem o tej witrynie. –