Security

使用 .htaccess 阻止 All 訪問特定文件夾

  • March 19, 2010

我不確定如何執行此操作,但我想阻止對我的 Web 伺服器上一組特定文件夾的所有訪問。說secret01和secret 02…

homeDir
 |- data
 |- www
 |   |- .htaccess (file)
 |   |- images
 |   |- js
 |   |- secret01
 |   |- secret02
 |   |...
 |...

我需要將哪些規則添加到我的根 .htaccess 文件中才能執行此操作?我希望阻止來自網路的所有訪問進入這些文件夾,期間。只有這樣一個人可以到達他們將結束SFTPSSH。那麼我在尋找什麼規則呢?我最好尋找一個單線,這樣我就可以添加更多文件夾或將其移動到路上的另一個站點。如果可以將規則放在 .htaccess 根文件中,我真的更願意,這樣我就不必到處亂跳來鎖定和解鎖文件夾。

= 更新清晰度 =

我無權訪問此主機的 conf 文件(它位於共享環境中),並且出於一些 shell 目的,我需要將這些文件夾放在 webroot 中。如果可以的話,我早就將它們移出 webroot 了。

我也不想搞砸文件權限,只需在我的規則中.htaccess阻止網路流量訪問一個文件夾或一組文件夾。

您可以創建一個 .htaccess

DENY FROM ALL

對於文件夾(將文件放入其中)。

還有 www/.htaccess 上的 mod_rewrite:

RewriteEngine On
RewriteRule ^(secret1|secret2|asdf) - [F,L]

如果您確實不希望它們通過 HTTP 訪問 Internet,則應將它們完全移出 Web 樹。

您還可以使用文件系統權限。例如,如果 Apache 以apache使用者身份執行,但您希望文件只能通過 SSH 訪問,user23則您可以擁有秘密* user2,但不能公開讀取。當然,這裡有幾乎無窮無盡的附加選項。組、文件系統 ACL 等。

對於 ACL,您可以使用 mod_authz。最好將配置保存在 conf 中,而不是.htaccess. 讓它們進入.htaccess會帶來更多的曝光度,並可能以較少的特權進行操作。

mod_authz 文件

引用自:https://serverfault.com/questions/124251