在生产环境中,各种各样的网站目录限制场景非常之多,这时就可能需要用到apache htpasswd工具来实现。
先使用Apache htpasswd命令创建一个密码文件,htpasswd的命令用法如下:
-c # 创建密码文件,若该文件已存在,它会重写并删除原有内容;-n # 不更新密码文件,直接显示密码;-m # 使用MD5加密(默认);-d # 使用CRYPT加密(默认);-p # 使用普通文本格式的密码;-s # 使用SHA加密;-b # 命令行中一并输入用户和密码,而交互性,生成时可见密码明文;-D # 删除指定的用户;登录后复制创建添加一个用户名为:renwole 密码为:renwole 的密码文件:
$ htpasswd -c .accpasswd renwoleNew password:Re-type new password:Adding password for user renwole登录后复制注意:创建的密码 .accpasswd 文件名可自定义。
使用cat查看生成的内容:
$ cat .accpasswdrenwole:$apr1$4owQhqtn$ElCDIh0sfR.ZFzeaY9sDw0登录后复制登录后复制注意:生成的密码是已经加密过的,所以别弄混掉了。
添加多个账号:
$ htpasswd -b .accpasswd renwolecom password-renwolecomAdding password for user renwolecom登录后复制查看生成的多个账号和密码:
$ cat .accpasswdrenwole:$apr1$4owQhqtn$ElCDIh0sfR.ZFzeaY9sDw0renwolecom:$apr1$3zzGmKtR$jKKCbU2nVEQZFz9mtEXE./登录后复制删除用户:
$ htpasswd -D .accpasswd renwolecomDeleting password for user renwolecom登录后复制查看删除后的密码文件:
$ cat .accpasswdrenwole:$apr1$4owQhqtn$ElCDIh0sfR.ZFzeaY9sDw0登录后复制登录后复制创建密码保护区域
有了密码文件之后,我们可以使用.htaccess文件创建保护区域。
将以下内容保存为 .htaccess 文件,这样我们就可以使用该文件建立保护区域。
$ vim /apps/web/renwolecom/phpMyadmin/.htaccessAuthType BasicAuthName "restricted area"AuthUserFile /usr/local/apache/conf/.accpasswdrequire valid-user登录后复制将该文件放在需要保护的目录下即可。因此我放在了网站根目录的phpMyadmin目录,这样访问此目录,就会出现弹窗验证,输入生成的用户名和密码即可。
以上就是利用.htaccess文件保护网站目录隐私的详细内容!