12

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

我的 .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>

请给我一些阻止访问目录中多个特定文件的示例。

4

1 回答 1

39

您那里的 .htaccess 有几个问题。

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

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

还有一个关于 Order allow,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>
于 2012-08-01T12:52:26.860 回答