簡體   English   中英

拒絕所有訪問文件但只有一個ip | htaccess的

[英]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做的是:

  1. 評估Allow ,如果匹配則標記“允許”。
  2. 評估Deny ,標記“拒絕”,如果有任何匹配(即使以前匹配Allow
  3. 評估標志。 如果未設置標志,則拒絕它。

因此,如果您不希望拒絕所有請求,則需要 Deny from All 刪除 Deny from All 只是MickeyRoush的回答。

至於Order Deny,Allow ,它是“相反的”:

  1. 評估Deny ,標記“拒絕”,如果有任何匹配。
  2. 評估Allow ,標記“允許”,如果有任何匹配(即使先前與Deny匹配)
  3. 評估標志。 如果未設置標志,請允許它。

請參閱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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM