2012-08-01 18 views
8

Chcę odmówić dostępu do wielu plików PHP w katalogu /all/cstl/.Odmów dostępu do wielu plików .php z .htaccess?

Mój .htaccess jest również zapisany w tym katalogu.

To jest mój obecny kod i nie działa.

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

Próbowałem zaprzeczać katalog i umożliwić konkretne pliki, ale zaprzecza katalogu i nie pozwala żądanych plików .php. Mój kod to:

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

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

Proszę podać przykład blokowania dostępu do wielu określonych plików w katalogu.

+1

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

+0

co o blokowaniu przez katalogu i pozwalają przez pliki jej również nie działa .. . –

Odpowiedz

24

Istnieje kilka problemów z plikiem .htaccess, który tam masz.

Jako odnośnik BSen w powyższym komentarzu, powinieneś użyć FilesMatch. Również wyrażenie regularne jest nieprawidłowe.

Problem z wyrażenia regularnego jest to, że masz zbiegłego miejsca na starcie, więc wszystkie pliki muszą zaczynać się znakiem spacji (po jednej z config.php, function.php etc)

Również mały wyjaśnieniu Zakonu allow, deny dyrektywy: http://www.maxi-pedia.com/Order+allow+deny

Spróbuj tego:

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

Jeśli chcesz zaprzeczyć, wszystkie jednak kilka plików, to byłoby odczytane jako

Order deny,allow 
Deny from all 
<FilesMatch "index\.php|index\.html"> 
    Allow from all 
</FilesMatch> 
Powiązane problemy