如何使用htaccess文件锁定文件夹



我正试图用htaccess文件锁定我网站上的一个文件夹我在根目录中创建了一个htaccess文件,并在要锁定的文件夹中创建了htpasswd文件但问题是它不起作用,我被禁止进入整个网站,直到我删除";需要有效的用户";以允许我进入该网站。

htaccess文件

ErrorDocument 404 /404.html
#Protect Directory
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /fares/.htpasswd
Require valid-user

htpasswd文件

fares:djefaflia

它在本地服务器或托管上不起作用

AuthUserFile /fares/.htpasswd

提供给AuthUserFile的文件路径应该是绝对文件系统路径,而不是根相对URL路径(即,它不应该是相对于文档根的(,这就是它的样子。(令人困惑的是,相对路径是相对于ServerRoot解析的,而不是文件系统的根。(

";绝对文件系统路径";是服务器上.htpasswd文件的完整文件路径。例如,如果文档根目录(HTML文件所在的目录(的服务器路径是/home/user/public_html,并且您希望保护文档根目录中的目录/fares,并且您将.htpasswd文件存储在该目录中(尽管不建议这样做,请参阅下文(,则AuthUserFile指令应改为如下所示:

AuthUserFile /home/user/public_html/fares/.htpasswd

但是,您应该避免将密码文件存储在您要保护的同一目录中(出于安全原因(。理想情况下,该文件将存储在文档根目录之外(即公共HTML空间之外(。例如,您可以镜像文档根目录上方的htpasswds目录中的文件结构,在该目录中存储系统上所有相关的.htpasswd文件:

AuthUserFile /home/user/htpasswds/fares/.htpasswd
fares:djefaflia

正如所写的;look";正确(除非您有意存储纯文本密码——这在Linux上不起作用(。您是如何生成密码文件的?您应该使用像htpasswd.exe(Apache附带的(这样的工具,或者类似的工具来生成密码的散列。例如,它应该看起来更像这样:

fares:$apr1$6Szn.sq3$7E6ZMJLBAZKWX.wmGRISu1

最新更新