2 votos

Denegar el acceso a archivos "bat" en Apache

Quiero denegar el acceso directo a los archivos confidenciales en mi root de la aplicación (e.g: registro,sh, ini ...etc). y por esta razón he utilizado la siguiente directiva en mi main .htaccess:

<FilesMatch  "\.(htaccess|htpasswd|ini|log|sh|inc|bak|md|txt|lock|phar|bat)$|action.bat|composer.json|VERSION.*">
  Require all denied
</FilesMatch>

la cosa extraña es que funcionan perfectamente por todos los archivos que aparecen en la FileMatch, excepto los archivos con (.mtd) de extensión, que yo no figura aún whythey todavía descargable a utilizar la URL de acceso. Configuración:

  • OS: Windows 10
  • Pila: XAMPP

XAMPP los componentes de la versión:

  • Apache 2.4.39
  • MariaDB 10.1.38
  • PHP 7.3.4 (VC15 X86 de 64 bits thread safe) + PEAR
  • phpMyAdmin 4.8.5
  • OpenSSL 1.1.0 g
  • XAMPP Control Panel de la Versión 3.2.3.

Actualización:

en realidad, yo descubrir que la Coincidencia de Patrón funciona con todos ".bat" los archivos excepto con el nombre de "acción" ! si puedo cambiar el nombre a cualquier cosa otra cosa (digamos "action1" ) funciona muy bien.

37voto

Sukhjinder Singh Puntos 107

Puede agregar lo siguiente a su archivo vhost

Para denegar el acceso a archivos específicos

 <Files *.bat>
    Order allow,deny
    Deny from all
</Files>
 

Puede agregar su tipo de extensión según sus requisitos.

0voto

Sašo Puntos 1064

La expresión regular que tienes debería funcionar. También debería poder eliminar action.bat| y debería funcionar igual. Si su archivo no termina con .bat , eso podría estar causando problemas.

Una explicación simplificada de lo que hace:

 \.(htaccess|htpasswd|ini|log|sh|inc|bak|md|txt|lock|phar|bat)$
|||                                                          |
||^Any string within brackets (separated with | as "or")     |
|^Any character or . when escaped     End of filename marker ^
^Escape character
 

Intente reiniciar su servidor, asegúrese de estar trabajando en el directorio correcto y asegúrese de que no haya nada más que funcione en contra de las reglas que está estableciendo en este .htaccess.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: