Mi página web es un repositorio mercurial con múltiples subrepositories. Necesito asegurarme de negar el acceso a todos los archivos en cada directorio .hg en el servidor.de seguridad: Denegar el acceso a .hg/* a través de mod_rewrite
Por ejemplo, he http://example.com/.hg/
y http://example.com/subrepo1/.hg/
He añadido lo siguiente a .htaccess:
<Files ~ "^\.(hg|ht)">
Order allow,deny
Deny from all
</Files>
Este es un buen comienzo, ya que impide el acceso a los archivos que comienzan con .hg
y .ht
, pero no niega el acceso a los archivos dentro de los directorios .hg
, por lo que si alguien escribe, por ejemplo http://example.com/.hg/branch
, el archivo de la rama se mostrarán en su navegador.
¿Qué debo hacer para asegurarme de que estos archivos no se muestran al usuario? Me gustaría enviar un 403 o un 404 al navegador si alguien intenta acceder a un archivo dentro de cualquier directorio .hg
en mi servidor.
Esta pregunta también es relevante para cualquier persona cuyo sitio web sea un repositorio de subversión/svn.
Aparece un error de 500 cuando pruebo cualquier cosa con Directory, DirectoryMatch, Location o LocationMatch, así que estoy pensando que no está permitido dentro de .htaccess. El RedirectMatch funciona como un encanto, sin embargo. ¡Gracias! – Tex
@Tex - Voy a editar eso - parece que el OP de la pregunta SVN tuvo problemas para hacer que 'DirectoryMatch' también funcione. –
Según tengo entendido, 'Directory',' DirectoryMatch', 'Location' y' LocationMatch' no están permitidos en .htaccess. – Tex