¿Hay alguna forma de evitar la restricción PATH (.htaccess) (en las URL)?

0

Usamos .htaccess para denegar el acceso directo a un archivo específico example.com/myfile.txt , usando esta configuración:

RewriteEngine on
RewriteCond %{THE_REQUEST} myfile.txt
RewriteRule ^    - [F,L]

La intención es que si la URL contiene myfile.txt , bloqueamos la solicitud. Sin embargo, ¿cuáles son los pasos de protección extra? Creo que alguien podría acceder a ese archivo usando barras invertidas (o cualquier carácter de escape) como: example.com/my\fi\le\.txt

    
pregunta T.Todua 04.03.2018 - 10:46
fuente

1 respuesta

4

Si bien lo que has enumerado funcionará, mod_rewrite no es realmente una herramienta de control de acceso. Apache le proporciona herramientas específicas para denegar el acceso, que operan después de que los nombres de los archivos hayan sido canonizados (convertidos al formulario que se usará para abrir archivos en el disco). Usar algo como esto es la forma intencionada de bloquear el acceso a myfile.txt:

<Files myfile.txt>
Order Allow,Deny
Deny from all
</Files>

Su ejemplo de barra invertida no debería hacer ninguna diferencia: el usuario solo recibirá un error 404, porque no existirá un archivo llamado my\fi\le\.txt . (Las barras invertidas son un carácter perfectamente legal en el nombre de archivo de UNIX y puede enviarlas, aunque la mayoría de los navegadores las convertirán en barras diagonales porque los usuarios de Windows).

    
respondido por el David 05.03.2018 - 03:38
fuente

Lea otras preguntas en las etiquetas