如何使用htaccess阻止访问除ONE文件之外的所有文件

时间:2011-01-19 11:54:55

标签: .htaccess

我正在尝试使用.htaccess阻止访问所有文件,但使用.htaccess,但这样做不起作用。

<Files accessibleFile.php>
allow from all
</Files>

<Filesmatch "^((?!accessibleFile\.php).)*$">
AuthUserFile .htpasswd
AuthGroupFile /dev/null
AuthName "Restricted Access"
AuthType Basic
</Filesmatch>

<Limit GET POST>
require valid-user
</Limit>

任何人都可以提供帮助吗? 已添加:我仍希望能够记录对其他文件的访问权限。

3 个答案:

答案 0 :(得分:3)

这就够了:

Deny from all

<Files "allowed.php">
    Allow from all
</Files>

另请注意,您的<Limit GET POST>指令会使您的网站容易受到HTTP Verb Tampering的攻击。<​​/ p>

答案 1 :(得分:1)

将文件放在单独的文件夹中并使用.htaccess和.htpasswd

保护此文件夹

答案 2 :(得分:0)

在这里 (Apache 2.2,Apache 2.4 +所需的Allow + Satisfy的小修改):

AuthType Basic
AuthGroupFile /dev/null
AuthName "please log in"    
AuthUserFile /is/htdocs/foo/.htpasswd
require user Mike

<FilesMatch "(admin-ajax.php|info.jpg)">
  Allow from all
  Satisfy any
</FilesMatch>