Bloqueia o acesso ao subdiretório usando o Web.config

7

Eu tenho um subdiretório no meu projeto ASP.NET que contém arquivos de utilitário. Eles são necessários pelo código em tempo de execução, mas não quero que eles sejam visíveis na Web.

Qual é a sintaxe em um arquivo Web.config para bloquear o acesso a todos os usuários a um único subdiretório e todo o seu conteúdo?

    
por Joel Spolsky 08.07.2009 / 18:01

3 respostas

14

O IIS 7 tem um novo recurso de "filtragem de solicitações". Você provavelmente quer usar a configuração de segmentos ocultos:

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

Isso faz com que o link não seja aceito (mas link ainda funciona)

Confira: link

    
por 08.07.2009 / 18:28
1

Seu problema é que, se o IIS simplesmente retorna os arquivos, o ASP.Net nunca terá a chance de interferir. Acredito que isso pode ser feito habilitando a autenticação baseada em formulários e considerável troca de informações, mas eu simplesmente movo os arquivos para fora da pasta wwwroot.

JR

    
por 08.07.2009 / 18:19
0

Isso deve funcionar:

<configuration>
  <location path="FolderName">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>
    
por 08.07.2009 / 18:23

Tags