2010-10-27 11 views

risposta

22

Il modo corretto per farlo sta usando questo:

<configuration> 
    <system.webServer> 
     <security> 
      <requestFiltering> 
       <hiddenSegments> 
        <add segment="My_Directory" /> 
       </hiddenSegments> 
      </requestFiltering> 
     </security> 
    </system.webServer> 
</configuration> 

Questo permette di accedere ancora file che si trovano lì dal conto IUSR, ma impedisce che le richieste effettive di file vengano riempite direttamente.

Nota che questo bloccherà i file in quella directory e in tutte le sottodirectory, indipendentemente da dove si trovi quella directory, anche se essa stessa è una sottodirectory di qualcos'altro.

+0

Il codice sopra riportato deve essere inserito in un file web.config nella stessa directory della directory da cui si desidera negare l'accesso. Ho provato a metterlo nel mio livello di base web.config e ha bloccato l'accesso all'intero sito. Inserirlo in un file web.config separato nella stessa directory restituisce un errore 404 quando si tenta di accedere alla directory (anche se sono sicuro che il tipo di errore restituito può essere modificato in IIS). – Tiffany

1

Rimuovere le autorizzazioni IIS_IUSR da quella cartella.

penso che sia genericamente sotto il "Account Internet Guest"

+3

Se lo fai in questo modo, potresti anche bloccare qualsiasi possibilità di accedere a tali file tramite l'applicazione web, il che probabilmente non è ciò che è previsto. –

+0

Ho Rimozione del IIS_IUSR funzionerà nel mio caso, voglio salvare lì arrivi degli utenti, ora io li sto salvando da qualche parte fuori dal lato della cartella di sito web su c: unità, e questo uploads cartella non dispone dell'autorizzazione IIS_IUSR e posso ancora accedervi dal mio codice sito web. –

2

Come la risposta di solo collegamento indica, hiddenSegments è lo strumento giusto per il lavoro. Vai a IIS quindi lo site e nello Features trova Request Filtering (deve essere installato a Server Manager) ora aggiunge il nome di directory a cui si desidera impedire l'accesso o qualsiasi segmento dell'URL realmente. Questo approccio richiede che un URL univoco o un nome di directory da utilizzare nel sito, altrimenti qualsiasi altro evento del segmento a qualsiasi livello nel URL, farà sì che la richiesta di essere bloccato:

http://www.iis.net/configreference/system.webserver/security/requestfiltering/hiddensegments

Problemi correlati