如何使用Apache htaccess文件保护隐私目录?

技术运维Apache 347

网页需要访问权限的场景非常多,比如敏感的管理工具如数据库管理程序如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输入密码。

[email protected]_victoria:~# htpasswd -c .file-passwd towait
New password: 
Re-type new password: 
Adding password for user towait

你可以使用命令

cat .file-passwd

查看用户

[email protected]_victoria:~# cat .file-passwd
towait:$apr1$/Gb0ETWf$zbC8kKzGpUGNN82GzoL6b1

添加更多用户

再添加一个名为towait1的账号

htpasswd -b .file-passwd towait1 password-1

再次执行

cat .file-passwd

查看用户列表

[email protected]_victoria:~# cat .file-passwd
towait:$apr1$/Gb0ETWf$zbC8kKzGpUGNN82GzoL6b1
towait1:$apr1$3ditkh8e$KlWkOF2trhjG5d.vb8rjj.

删除用户

htpasswd -D .file-passwd towait1
cat .file-passwd
[email protected]_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

将该文件放在需要保护的目录下即可。

Post Comment