Como escondo um diretório de arquivos de texto no IIS?

6

Eu tenho um diretório de arquivos de texto no IIS. Eu gostaria que este diretório estivesse oculto.

Eu configurei o web.config da seguinte forma:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.web>
        <authorization>
            <deny users="*" /> <!-- Denies all users -->
        </authorization>
    </system.web>
</configuration>

Mas ainda posso ver uma lista completa de diretórios dos arquivos, bem como acessar os arquivos pela Web.

O que estou definindo errado?

Eu também tentei isso:

<system.webServer>
      <security>
          <authorization>
              <remove users="*" roles="" verbs="" />
              <add accessType="Allow" roles="Administrators" />
          </authorization>
      </security>
  </system.webServer>

Mas isso também não me ajudou

    
por nunespascal 19.05.2012 / 06:25

1 resposta

8

O nó system.web afeta apenas os arquivos asp.net, os arquivos * .txt não são afetados por ele.

Para ocultar os arquivos de todos os usuários, existem várias maneiras no IIS 7.x, aqui estão duas:

No web.config dentro do diretório em questão:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".txt" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

ou

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

O primeiro oculta todos os arquivos de texto, o segundo oculta todo o caminho do URL, ambos retornam os 404s para o usuário.

Se você quiser permitir que determinados usuários acessem os arquivos, esses métodos não funcionarão. Que tipo de autenticação você está usando?

    
por 19.05.2012 / 08:56