通过 .htaccess 文件保护目录而没有 root 权限

Posted

技术标签:

【中文标题】通过 .htaccess 文件保护目录而没有 root 权限【英文标题】:Protecting directory via .htaccess file without having root permissions 【发布时间】:2014-10-02 08:27:38 【问题描述】:

目前我试图阻止通过.htaccess 和基本身份验证访问我的 apache2 网络服务器上的目录:

AuthType Basic
AuthName "Private"
AuthUserFile ?/.htpasswd
require valid-user

假设目录路径是/foo/bar,那么.htacccess.htpasswd 位于/foo/bar/.htaccess/foo/bar/.htpasswd 下。

来自/foo/bar/.htpasswd 的绝对寻址不起作用。我的用户帐户无权访问/

我已经尝试从目录中相对解决它。但是apache2从apache2根目录解析相对地址,即/etc/apache2/

实际上我只能编辑/foo/bar 中的内容。我也无法控制 apache2。

问题:在给定的限制下,如何处理AuthUserFile.htpasswd 文件?

【问题讨论】:

来自 /foo/bar/.htpasswd 的绝对寻址不起作用:你能澄清一下这是什么问题吗? Apaches 错误日志指出,它无法访问该文件。就是这样。我很确定,那条路径是正确的,因为我检查了几次。 【参考方案1】:

它无法访问该文件只是意味着您的密码文件的完整路径不正确。

它需要是完整的系统路径,即

AuthType Basic
AuthName "Private"
AuthUserFile /home/jsmith/foo/bar/.htpasswd
require valid-user

【讨论】:

【参考方案2】:

有几种访问 .HTACCESS 文件的方法,这里是阻止访问的方法。

应用低权限(忽略此,因为它需要 root 权限)

权限的基本指导很简单,数字越小越难访问。好的经验法则是在不影响性能或功能的情况下将数字保持在尽可能低的水平。对于大多数用户,将其设置为 640 将授予您所需的访问级别。

添加 .HTACCESS 指令

这里需要注意的重要一点是,这仅在攻击是外部攻击时才有效。这不会保护您免受内部攻击(例如,如果整个 cPanel 帐户被黑客入侵) 这是您可以使用的 .htaccess 指令:

保护 HTACCESS

订单拒绝,允许 全部拒绝

注意:这只保护文件不被外部访问。

禁用目录浏览

如果您不想让访问者浏览您的整个目录,只需在 WordPress 博客的根目录中的 .htaccess 中添加 2 行。

禁用目录浏览

选项全部 - 索引

【讨论】:

以上是关于通过 .htaccess 文件保护目录而没有 root 权限的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 下载文件而不是加载

.htaccess 文件对保护我的 xampp 目录的密码无效?

如何通过 htaccess 保护商店?

apache_conf 从php执行保护wordpress上传目录。在uploads目录中添加新的.htaccess文件。

在Apache和Linux/Unix上使用htaccess和htpasswd对文件夹/目录进行密码保护

.htaccess文件应该放在哪个文件夹下