Riesgos de exponer el archivo .htaccess

2

Tengo un servidor Apache en Windows 7 usando XAMPP ejecutando php en modo cgi. Uno de los usuarios puede modificar el archivo .htaccess para restringir el acceso a la página web para algunas direcciones IP y configurar otras configuraciones. No puede ver la fuente de los archivos php almacenados en el servidor, y no quiero que él pueda hacerlo.

Dado que php se está ejecutando en modo cgi, agregar php_flag engine off al archivo .htaccess no muestra el código fuente de los archivos php, solo muestra un error interno del servidor. Sin embargo, me preocupa que pueda haber otra forma de acceder a la fuente de mis archivos.

  • ¿Hay alguna forma de ver la fuente de los archivos php modificando el archivo .htaccess si php se está ejecutando en modo cgi y php_flag no funciona?
  • En caso de que haya alguna forma de ver la fuente, ¿puedo solucionarlo o la única opción es usar una solución alternativa y no exponer el archivo .htaccess?
pregunta Hawkings 31.01.2017 - 14:43
fuente

2 respuestas

2

Sí, corre el riesgo de exponer el archivo .htaccess a otros usuarios que no están en su círculo de confianza, aunque está utilizando php en modo cgi, pero no estoy seguro de cuán capaces son los demás usuarios. Por ejemplo, una regla como esta expone su código php en texto.

<FilesMatch "\.php$">
    SetHandler text/plain
</FilesMatch>

Entonces, lo que sugiero es que no otorgue permiso completo a .htaccess , solo otorgue permiso al módulo que sea requerido o necesario.

Por ejemplo, no permitas módulos como mod_mimes , indexes etc a otro usuario.

No usar

AllowOverride All

En su lugar, menciona el módulo que quieres permitir

AllowOverride AuthConfig mod_rewrite

Espero que ayude.

    
respondido por el Abhishek Gurjar 01.02.2017 - 10:55
fuente
0

Puede restringir al otro usuario que accede a .htaccess cambiando las políticas de seguridad del archivo (clic derecho, propiedades, pestaña Seguridad). Debe eliminar el indicador de escritura del servidor web del archivo, de modo que los usuarios no podrán editarlo ni siquiera utilizando PHP.

Editar: la otra opción sería usar nginx, que no almacena archivos de configuración en webroot, por lo que los usuarios con acceso específico a webroot no pueden hacer nada sospechoso.

    
respondido por el Rápli András 31.01.2017 - 15:26
fuente

Lea otras preguntas en las etiquetas