我不知道如何做到这一点,但我想阻止所有访问我的networking服务器上的一组特定的文件夹。 说secret01和秘密02 …
homeDir |- data |- www | |- .htaccess (file) | |- images | |- js | |- secret01 | |- secret02 | |... |...
我需要添加到我的根.htaccess文件做什么规则? 我希望阻止来自networking的所有访问进入这些文件夹,期间。 只有这样才能达到他们将通过SFTP或SSH 。 那么我在寻找什么规则? 我最好寻找一个单线,所以我可以添加更多的文件夹或将其移动到另一个网站的道路上。 我真的希望如果规则可以放在.htaccess根文件,所以我不必跳过所有的地方来locking和解锁文件夹。
=清晰度更新=
我没有权限访问该主机的conf文件(它位于共享环境中),为了几个shell目的,我需要将这些文件夹放在webroot中。 如果我能,我会已经把他们从webroot。
我也不想拧与文件的权限,只是在我的.htaccess阻止networkingstream量访问一个文件夹或一组文件夹的规则。
你可以创build一个.htaccess
DENY FROM ALL
为文件夹(把它放在那些文件)。
也使用www / .htaccess上的mod_rewrite:
RewriteEngine On RewriteRule ^(secret1|secret2|asdf) - [F,L]
如果你真的不希望它们通过HTTP访问Internet,则应该将它们完全移到Web树之外。
您也可以使用文件系统权限。 例如,如果Apache以apache用户身份运行,但是您希望这些文件只能由user23通过SSH访问, user23您可以拥有由user2拥有的秘密*,并且不具有公共可读性。 当然,这里有几乎无尽的额外select。 组,文件系统ACL等。
对于ACL,可以使用mod_authz。 最好将configuration保存在conf中,而不是在.htaccess 。 让他们在.htaccess引入更多的曝光和可能用较less的特权进行操纵。
mod_authz文档