[英]Deny all access to a file but one ip | htaccess
我尝试了以下但DOESNT工作(没有机构可以访问该文件,包括我希望它访问的IP)
<Files something.php>
Order allow,deny
Deny from all
allow from zzz.zzz.zzz.zzz
</Files>
我想拒绝除了一个ip之外的所有世界的文件访问,我该怎么做? 谢谢
我在一篇较旧的帖子中找到了我的答案,其中一个答案在这里: .htaccess:如何通过IP限制对单个文件的访问? ,正确的是:
<Files something.php>
Order deny, allow
Deny from all
allow from zzz.zzz.zzz.zzz
</Files>
从原来我改变了“订单允许,拒绝”到“命令拒绝,允许”,它的工作原理!
它不起作用的原因是因为你的Deny
指令覆盖了你的Allow
指令。 什么Order Allow,Deny
做的是:
Allow
,如果匹配则标记“允许”。 Deny
,标记“拒绝”,如果有任何匹配(即使以前匹配Allow
) 因此,如果您不希望拒绝所有请求,则需要 Deny from All
删除 Deny from All
。 只是MickeyRoush的回答。
至于Order Deny,Allow
,它是“相反的”:
Deny
,标记“拒绝”,如果有任何匹配。 Allow
,标记“允许”,如果有任何匹配(即使先前与Deny
匹配) 请参阅MickeyRoush提供的链接以获取更多信息。
实际上你使用的第一个指令会起作用,但它需要在正确的位置。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.