如何使用Apache htaccess文件保护隐私目录?
网页需要访问权限的场景非常多,比如敏感的管理工具如数据库管理程序如MySqlDumper、phpMyAdmin,再比如一些私密的需要保护,又随时随地要访问的内容等等。
首先你应该创建一个Apache htpasswd命令创建一个密码文件,htpasswd
命令的用法:
- -c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容.
- -n 不更新passwordfile,直接显示密码
- -m 使用MD5加密(默认)
- -d 使用CRYPT加密(默认)
- -p 使用普通文本格式的密码
- -s 使用SHA加密
- -b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互
- -D 删除指定的用户
创建密码文件.file-passwd(文件名自行修改):
我们创建文件并添加一个用户名为 towait 的访问账号:
htpasswd -c .file-passwd towait
回车后相应在 New Password 和 Re-type new password输入密码。
root@raspbian_victoria:~# htpasswd -c .file-passwd towait New password: Re-type new password: Adding password for user towait
你可以使用命令
cat .file-passwd
查看用户
root@raspbian_victoria:~# cat .file-passwd towait:$apr1$/Gb0ETWf$zbC8kKzGpUGNN82GzoL6b1
添加更多用户
再添加一个名为towait1的账号
htpasswd -b .file-passwd towait1 password-1
再次执行
cat .file-passwd
查看用户列表
root@raspbian_victoria:~# cat .file-passwd towait:$apr1$/Gb0ETWf$zbC8kKzGpUGNN82GzoL6b1 towait1:$apr1$3ditkh8e$KlWkOF2trhjG5d.vb8rjj.
删除用户
htpasswd -D .file-passwd towait1
cat .file-passwd
root@raspbian_victoria:~# cat .file-passwd towait:$apr1$/Gb0ETWf$zbC8kKzGpUGNN82GzoL6b1
创建密码保护区域:
有了密码文件之后,我们使用.htaccess
文件创建保护区域:
AuthType Basic AuthName "restricted area" AuthUserFile /path/to/the/directory/you/are/protecting/.file-passwd require valid-user
将该文件放在需要保护的目录下即可。