htpasswd 是apache的小工具。在apache安装文件夹bin下可找到。
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再输入了。
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
然后在须要控制訪问的文件夹下添加.htaccess
.htaccess内容例如以下
AuthType "Basic" AuthName "Password Required" #提示文字 AuthUserFile "/home/fdipzone/sites/pass/.pass" #加密password的文件 Require valid-user
当訪问该文件夹下的文件时,则会弹出要求输入username和password的输入框。输入正确的username和password后就能正常訪问。
tips:为了安全,加密的password文件请不要放在线上用户能够訪问的路径。