2010-02-02 13 views
18

Jestem w stanie wyłączyć dostęp do pliku z .htaccess, ale nie wiem, jak uniemożliwić przeglądanie wielu plików (bezpośrednio, nie z uwzględnieniem).htaccess odmówić dostępu do określonych plików? więcej niż jeden

To są .php, więc mogę „t wyłączyć typ pliku (jak tylko samouczki online powiedzieć ..)

<FILES ... ? 

</FILES> 

Albo coś .. na przykład«home.php, file.php, test.php»jak mogę zabronić dostępu do wszystkich trzech pliki z tym tagiem? lub podobne, pomóżcie proszę!

Odpowiedz

24

Jeśli chcesz wykluczyć pliki na podstawie wyrażeń regularnych można użyć FilesMatch zamiast plików, np:

<FilesMatch ^((home|test|file)\.php$|mysecretfolder|asecretpicture\.jpe?g)$> 
... 
</FilesMatch> 
+0

Idealne, uwielbiam lamówki dla każdej nazwy pliku, właśnie tego chciałem. Dziękuję Ci. –

+0

Zastrzeżenie: Użyj początku i końca ciągu, jeśli chcesz wykluczyć/test.php, ale nie /public/test.php lub /test.php.bak – Residuum

+1

To najbardziej przydatna rzecz, jaką widziałem przez cały tydzień. To prawda, jest już po 14:00 w poniedziałek, ale wciąż. – Imperative

11

Wygląda na to trzeba wykluczyć te pliki jeden po drugim:

<files home.php> 
Deny/Allow/Whatever 
</files> 
<files file.php> 
... 

Można użyć *.gif w <files> lub something*, ale jak Home.php, file.php i test.php nie może być naprawdę zgrupowane z "*", to chyba jedyna droga.

0

od apache 2,4

<FilesMatch "\.htaccess|config\.php"> 

    Require all denied 

</FilesMatch> 

zamiast

<FilesMatch "\.htaccess|config\.php"> 

    Order allow,deny 
    Deny from all 

</FilesMatch> 
Powiązane problemy