拒绝使用.htaccess访问多个.php文件?

时间:2012-08-01 12:38:45

标签: php security .htaccess

我想拒绝访问目录/all/cstl/中的多个PHP文件。

我的.htaccess也存储在此目录中。

这是我目前的代码,但它无效。

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

我试图拒绝该目录并允许特定文件,但它拒绝该目录,并且不允许请求的.php文件。我的代码是:

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

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

请举几个阻止访问目录中多个特定文件的示例。

1 个答案:

答案 0 :(得分:28)

你有.htaccess存在几个问题。

在上面的评论中链接了BSen,您应该使用FilesMatch。 另外,你的正则表达式是错误的。

正则表达式的问题在于您在开始时有一个转义空间,因此所有文件必须以空格字符开头(后跟config.php,function.php等之一)

也是对Order允许,deny指令的一个小解释: http://www.maxi-pedia.com/Order+allow+deny

试试这个:

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

如果您想拒绝除少数文件以外的所有文件,则会将其视为

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