使用apache和htaccess对目录访问设置密码保...

对目录设置密码保护配置说明
在本教程中主要介绍两种方法,一种是通过apache httpd.conf配置文件对管理后台目录设置密码保护,适用于具有服务器控制权限的用户,另一种是通过.htaccess配置文件对目录设置密码保护,适用于虚拟主机用户。
apache httpd.conf配置文件对目录设置密码保护教程
1、使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解
2、打开apache httpd.conf配置文件
3、找到<Directory>…</Directory>块,对test目录访问设置密码保护
1
2
3
4
5
6
7
8
9
10
11
<Directory E:/phpos/leapsoul/test/>
AuthType Basic
AuthName "WORKING CENTER"
AuthUserFile C:/.passwd
Require user www.leapsoul.cn
</Directory>
4、保存apache httpd.conf,并重启apache服务器。
上述配置只允许www.leapsoul.cn用户以正确的密码登陆才能访问leapsoul/test/目录
注意事项
1、设置密码保护的目录路径不要使用反斜杠,使用/
2、密码文件引用需要使用绝对路径
使用.htaccess配置文件对目录设置密码保护教程
1、使用apache htpasswd.exe创建密码文件,命令请看PHP推荐教程:apache htpasswd命令用法详解
2、创建.htaccess配置文件
3、在.htaccess配置文件中的写入配置信息,.htaccess配置文件的写法与apache配置文件有所不同,没有Directory
Deny from all
AuthType Basic
AuthName "WORKING CENTER" #引号中的是说明文字,随便写
AuthUserFile d:\appw\.passwd #AuthUserFile指的是保存用户名和密码的文件位置(绝对路径)
Require user lifl #用户名为lifl,密码为lifl(如果这行写为Require valid-user表示指定只有.htpasswd文件包含的合法用户才能访问。)
satisfy any
4、保存.htaccess配置文件,并将.htaccess配置文件放置在需要设置密码保护的目录下,比如/data/www/XXXX目录 上述.htaccess配置功能与第一种方法实现的功能是一样的。
这时浏览加密的网站就需要输入用户名密码了。
==========================================
.htaccess配置注意事项
如何开启.htaccess配置功能?
除了和apache httpd.conf配置一样需要注意的那些问题之外,容易出现的一个错误是如果配置不正确,会出现.htaccess配置文件不起作用的问题,这是因为 apache AllowOverride指令,决定了你的.htaccess是否能正常开启并启用。从安全性考虑,apache httpd.conf配置文件中网站根目录的AllowOverride属性一般都配置成不允许任何Override ,即
<Directory />
AllowOverride None
</Directory>
所以要使apache能够正常的读取.htaccess文件的内容,开启.htaccess功能,使.htaccess配置文件中的设置起作用,就必须对网站根目录或者.htaccess 所在目录进行配置,将AllowOverride None更改为AllowOverride All。
如果你是虚拟主机用户在使用.htaccess配置文件对目录设置密码保护时,请咨询你的主机商是否允许启用.htaccess,并告知网站目录的绝对路径。
-----------------------------------------
apache和.htaccess配置选项说明
Deny from all
AuthName - 浏览器弹出登录框时显示的被保护的名字,可自行改动。
AuthType Basic - 认证的类型。
AuthUserFile - 指向apache htpasswd.exe生成的密码文件,必须是绝对路径
Require - 设置可以对被保护目录进行访问的用户。
require valid-user -就是指在 .passwd 中的任何一位用户都可以访问。
require user username 或 require user username1 username2 username3 - 指定.passwd中的特定的用户可以访问被保护的目录。
require group groupname - 指定用户组来访问被保护目录。
设置组的方法是再创建一个.htgroup配置文件:
groupname1: username1 username2 username3
groupname2: username1 username3 username4
再在apache httpd.conf配置文件或者.htaccess配置文件中添加:
AuthGroupFile C:/.htgroup
satisfy any
Tags: 

延伸阅读

最新评论

发表评论