2012-08-01 16 views
8

Quiero denegar el acceso a múltiples archivos PHP en el directorio /all/cstl/.¿Denegar el acceso a múltiples archivos .php con .htaccess?

My .htaccess también se almacena en este directorio.

Este es mi código actual y no está funcionando.

<Files "\ (config.php|function.php|include.php)"> 
    Order allow,deny 
    Deny from all 
</Files> 

He tratado de negar el directorio y permitir que los archivos específicos pero niega el directorio y no permite que los archivos solicitados .php. Mi código para esto es:

<Directory /> 
    Order deny,allow 
    Deny from all 
<Directory> 

<Files "index.php|post.php"> 
    Order deny,allow 
    Deny from all 
</Files> 

Dame un ejemplo de bloqueo de acceso a múltiples archivos específicos dentro de un directorio.

+1

http://stackoverflow.com/questions/2182936/htaccess-deny-access-to-specific-files-more-than-one – BSen

+0

¿qué pasa con el bloqueo por el directorio y permitir por los archivos de su también no funcionan .. . –

Respuesta

24

Existen varios problemas con .htaccess que tiene allí.

Como BSen vinculado en el comentario anterior, debe utilizar FilesMatch. Además, su expresión regular es incorrecta.

El problema con la expresión regular es que usted tiene un espacio escapado al inicio, por lo que todos los archivos deben comenzar con un carácter de espacio (seguido de uno de config.php, function.php etc)

También una pequeña explicación de la Orden allow, deny Directiva: http://www.maxi-pedia.com/Order+allow+deny

Prueba esto:

<FilesMatch "config\.php|function\.php|include\.php"> 
    Order allow,deny 
    Deny from all 
</FilesMatch> 

Si desea denegar todos, pero unos pocos archivos, este texto sería el

Order deny,allow 
Deny from all 
<FilesMatch "index\.php|index\.html"> 
    Allow from all 
</FilesMatch> 
Cuestiones relacionadas