使用apache htpasswd生成加密的密码文件,并使用.htaccess控制目录访问

来源:互联网 发布:java大整数 编辑:程序博客网 时间:2024/05/17 20:22

htpasswd 是apache的小工具,在apache安装目录bin下可找到。

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

1.生成加密密码文件

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

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

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

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

2.修改密码

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

3.增加用户

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

4.删除用户

htpasswd -D .pass guestDeleting password for user guest
如果使用p参数,不加密密码,系统会提示Warning,因此为了安全最好不要使用p参数。

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

.htaccess 调用加密密码文件控制访问权限


首先 Allowoverride 需要设置为 AuthConfig 或 All

然后在需要控制访问的目录下增加.htaccess


.htaccess内容如下

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

当访问该目录下的文件时,则会弹出要求输入用户名和密码的输入框。输入正确的用户名和密码后就能正常访问。



tips:为了安全,加密的密码文件请不要放在线上用户可以访问的路径。


1 0
原创粉丝点击