apache htpasswd使用教程

今天决定写一篇关于“在Apache下使用.htaccess和.htpasswd给文件夹加上密码认证”的文章。

此方法可以让指定文件夹下的内容(图片和页面等资源)只提供给通过合法验证的用户访问。比较常用的地方就是应用在一些开源的项目(例如:CMS等)上,用来简单保护一下后台的访问权限。

下面进入正题,如何使用.htaccess和.htpasswd来给目录加上身份验证;

  • 创建“.htpasswd”文件,格式为“用户名:密码”:【注:window下可能无法直接创建,可以用过文本创建并写入下面代码后,通过另存为”.htpasswd”,注意需要带双引号的。】

ccp330:123456

  • 创建“.htaccess”文件,格式如下,相关指令可以自己网上去搜索了解:

AuthUserFile .htpasswd文件绝对路径
AuthType Basic
AuthName “restricted”
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any

例如:

AuthUserFile G:/php_work/.htpasswd
AuthType Basic
AuthName “restricted”
Order Deny,Allow
Deny from all
Require valid-user
Satisfy any

  • 第三步是把创建的“.htpasswd”和“.htaccess”放到要保护的目录下,现在访问保护的目录下的文件即可看见如下效果:

 

实例下载

 


 

其次还有两点说明:

第一点是“.htpasswd”文件可以放在随意位置,而“.htaccess”则必须放在要保护的目录并填写好.htpasswd的绝对路径,也就是说密码文件“.htpasswd”可以放在web目录之外;

第二点是“.htpasswd”文件里的密码是可以加密的,具体加密方法如下:

 

  • 用生成的密码直接覆盖“.htpasswd”文件中的密码即可,如:ccp330:$apr1$cj84bdns$JQx/a7gearo2W9wts8Asz.

 

如果你觉得我弄出来的这个在线加密程序可能不安全的话,我能理解,所以我把加密源码文件、获取当前文件路径源码文件和实例一起打包好给你下载了。

下载地址:htaccess_demo_code.rar

测试地址:/test_htaccess/(用户名:ccp330;密码:1234567)

发表评论