我尝试了以下但DOESNT工作(没有机构可以访问包含我希望它访问的IP的文件)
<Files something.php>
Order allow,deny
Deny from all
allow from zzz.zzz.zzz.zzz
</Files>
我想拒绝除了一个ip以外的所有世界的文件访问权限,我该怎么做? 感谢
答案 0 :(得分:1)
我在一篇较旧的帖子中找到了答案,其中一个答案在这里:.htaccess: how to restrict access to a single file by IP?,正确的是:
<Files something.php>
Order deny, allow
Deny from all
allow from zzz.zzz.zzz.zzz
</Files>
从原版我改为“订单允许,拒绝”改为“订单拒绝,允许”并且它有效!
答案 1 :(得分:1)
它不起作用的原因是因为您的Deny
指令覆盖了您的Allow
指令。
Order Allow,Deny
的作用是:
Allow
,标记&#34;允许&#34;如果有匹配的话。Deny
,标记&#34;拒绝&#34;如果有任何匹配(即使先前与Allow
匹配)因此,如果您不希望拒绝所有请求,则必需 删除 Deny from All
。只是MickeyRoush的回答。
对于Order Deny,Allow
,它是&#34;反对&#34;:
Deny
,标记&#34;拒绝&#34;如果有匹配的话。Allow
,标记&#34;允许&#34;如果有任何匹配(即使先前与Deny
匹配)请参阅MickeyRoush提供的链接以获取更多信息。
答案 2 :(得分:0)
实际上你使用的第一个指令是可行的,但它需要在正确的位置。
Order Allow,Deny
<Files something.php>
Allow from zzz.zzz.zzz.zzz
</Files>
请注意,我删除了所有拒绝,因为它不是必需的。
http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html#order