有时候某些目录下的文件需要增加认证,Apache缺省的认证模块都是很完备的,以下就是一个通过.htaccess文件增加用户认证的例子。即使对于虚拟主机用户也可以通过上传一些文件来实现认证控制。
首先用htpasswd创建一个密码文件:比如文件名叫做my.passwd
/home/apache/bin/htpasswd -c -b my.passwd myusername mypassword
如果增加帐号:
/home/apache/bin/htpasswd -b my.passwd anotherusername anotherpassword
将my.passwd上传到一个非发布路径下。
比如你的物理WEB根目录的上一级
/home/apache/conf/my.passwd
创建 .htaccess
AuthName "My Authorization Directory"
AuthType Basic
AuthUserFile /home/apache/conf/my.passwd
Require valid-user
将这个文件上传到你需要进行用户认证的目录:
/home/apache/htdocs/admin/.htaccess
这样这个目录的访问就需要认证了。
作者:车东 发表于:2004-04-12 20:04 最后更新于:2007-04-15 19:04版权声明:可以转载,转载时请务必以超链接形式标明文章 用Apache的.htaccess文件增加用户认证 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/000321.html
Comments
深层目录时会不会有性能问题?
由: Hilton 发表于 2004年04月12日 晚上09时27分
可以在.htaccess中设置是否能访问目录列表吗?
当然是在AllowOverride All的情况下
我想知道具体语法。 谢谢!
由: cpedia 发表于 2004年04月27日 下午02时31分
请问-b这个参数是什么意思?我通常只加-m:MD5加密方式
由: Ivan 发表于 2007年03月02日 下午04时53分
.htaccess还是尽量少在访问量大的网站进行使用,性能代价太高啦
由: 流氓兔斯基tu321.com 发表于 2010年05月23日 下午12时34分