.htaccess拒绝访问特定文件?超过一个

时间:2010-02-02 09:23:17

标签: php security apache .htaccess file

我可以使用.htaccess禁用对文件的访问,但我不知道如何禁止查看多个文件(直接,不是来自包含)

它们是.php所以我无法禁用文件类型(就像网上唯一的教程所说的那样..)

<FILES ... ? 

</FILES>

或者其他东西..例如“home.php,file.php,test.php”我怎么禁止访问带有该标签的所有三个文件?或类似的,请帮忙!

3 个答案:

答案 0 :(得分:26)

如果要根据正则表达式排除文件,可以使用FilesMatch而不是Files,例如:

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

答案 1 :(得分:12)

看起来你必须逐个排除这些文件:

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

您可以在*.gif<files>中使用something*,但作为home.php,file.php和test.php无法真正与“*”分组,可能是唯一的出路。

答案 2 :(得分:1)

自apache 2.4

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

    Require all denied

</FilesMatch>

而不是

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

    Order allow,deny 
    Deny from all 

</FilesMatch>