Bloquear el acceso al subdirectorio usando Web.config

Bloquear el acceso al subdirectorio usando Web.config

Tengo un subdirectorio en mi proyecto ASP.NET que contiene archivos de utilidad. El código los necesita en tiempo de ejecución, pero no quiero que sean visibles en la web.

¿Cuál es la sintaxis en un archivo Web.config para bloquear el acceso de todos los usuarios a un único subdirectorio y a todo su contenido?

Respuesta1

IIS 7 tiene una nueva función de "filtrado de solicitudes". Probablemente quieras utilizar la configuración de segmentos ocultos:

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

Esto causahttp://tusitio/binno ser útil (perohttp://tusitio/binariotodavía funciona)

Verificar: http://learn.iis.net/page.aspx/143/how-to-use-request-filtering

Respuesta2

Su problema es que si IIS simplemente devuelve los archivos, ASP.Net nunca tendrá la oportunidad de interferir. Creo que se puede hacer habilitando la autenticación basada en formularios y haciendo muchas cosas, pero simplemente movería los archivos fuera de la carpeta wwwroot.

J.R.

Respuesta3

Esto debería funcionar:

<configuration>
  <location path="FolderName">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>

Respuesta4

Es una pregunta antigua, pero se trata de un sencillo acceso directo web.configpara cualquier directorio en la ruta del servidor web. Elimina todos los roles de usuario y luego establece el acceso predeterminado para denegar. Sencillo y sin necesidad de configuración.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Deny" users="*" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

información relacionada