使用apache htpasswd生成加密的password文件,并使用.htaccess控制文件夹訪问

htpasswd 是apache的小工具。在apache安装文件夹bin下可找到。apache

Usage:
	htpasswd [-cmdpsD] passwordfile username
	htpasswd -b[cmdpsD] passwordfile username password

	htpasswd -n[mdps] username
	htpasswd -nb[mdps] username password
 -c  建立一个新的加密password文件
 -n  不更新文件。显示结果
 -m  使用MD5加密password
 -d  使用CRYPT加密password(默认)
 -p  不加密password
 -s  使用SHA加密password
 -b  直接在命令行输入password。而不是提示后再输入password
 -D  删除用户
在Windows, NetWare与 TPF系统,'-m' 是默认的password加密方式。

在所有其它系统,'-p'可能不能使用。安全


1.生成加密password文件

htpasswd -c .pass fdipzone
New password: 
Re-type new password: 
Adding password for user fdipzone

这样就生成了一个使用CRYPT加密password的文件

下面命令可以生成用md5加密password的文件,b參数的做用是在命令行直接把password输入。这样就不需要等提示输入password再输入了。
ide

htpasswd -cmb .pass fdipzone 123456
Adding password for user fdipzone

2.改动password

htpasswd .pass fdipzone
New password: 
Re-type new password: 
Updating password for user fdipzone

3.添加用户

htpasswd .pass guest
New password: 
Re-type new password: 
Adding password for user guest

4.删除用户工具

htpasswd -D .pass guest
Deleting password for user guest
假设使用p參数,不加密密码。系统会提示Warning。所以为了安全最好不要使用p參数。

htpasswd -cp .pass fdipzone
Warning: storing passwords as plain text might just not work on this platform.

.htaccess 调用加密password文件控制訪问权限


首先 Allowoverride 需要设置为 AuthConfig 或 All
ui

而后在需要控制訪问的文件夹下添加.htaccess
this


.htaccess内容例如如下
加密

AuthType "Basic"
AuthName "Password Required" #提示文字
AuthUserFile "/home/fdipzone/sites/pass/.pass" #加密password的文件
Require valid-user

当訪问该文件夹下的文件时,则会弹出要求输入username和password的输入框。输入正确的username和password后就能正常訪问。spa



tips:为了安全,加密的password文件请不要放在线上用户可以訪问的路径。
命令行

相关文章
相关标签/搜索