¿Cómo deniego el acceso a los archivos .dll en un sitio web (tanto en IIS 6 como en 7)?

StackOverflow https://stackoverflow.com/questions/416420

  •  03-07-2019
  •  | 
  •  

Pregunta

Si uso un URL como http: //mysite/myfolder/myfile.dll , obtener un cuadro de diálogo " ¿Desea abrir o guardar este archivo " ;. Por supuesto, no quiero que la gente pueda descargar y desensamblar nuestros archivos DLL. ¿Cómo puedo negar a las personas que acceden a dichos archivos directamente?

¿Fue útil?

Solución

Negar todas las DLL es drástico en un sitio asp.net, ya que Silverlight, etc., utiliza las DLL del cliente que deben estar disponibles para su descarga por parte del navegador del cliente.

Puede usar la Consola de administración de IIS o las API de administración para deshabilitar la autenticación en el archivo o directorio de la DLL.

Simplemente desmarque todas las opciones de autenticación y se denegará el acceso.

Otros consejos

Por lo general, esto no está permitido por defecto. Si ingresa en el administrador de IIS y edita el sitio web, debe deseleccionar 'acceso a la fuente del script'. DLL también debería estar en la lista de extensiones de archivo prohibidas.

La respuesta corta es que no debería haber archivos que no quieras servir debajo de la raíz web.

No conozco personalmente IIS 6 o 7, pero bajo Apache, un directorio se designa como la raíz web, por ejemplo. \ site \ htdocs, y nada más arriba es accesible al exterior. Si mantiene sus archivos DLL fuera de esa jerarquía, entonces son inaccesibles.

Establezca la seguridad de archivos de Windows apropiada y los derechos de acceso.

Por ejemplo, cuando esté utilizando asp.net, debe denegar el acceso a la .dll para todos los usuarios excepto la cuenta ASPNET.

! La cuenta IUSR_xxx no debería tener derechos sobre su .dll!

Si, por alguna razón, las asignaciones de script en IIS no se pueden cambiar, se puede usar HttpForbiddenHandler

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top