|
发表于 2006-3-8 19:32:21
|
显示全部楼层
检查httpd.conf:
AllowOverride All将允许.htaccess文件能改变所有的访问控制功能,如果仅仅希望目录的所有者只控制部分访问控制功能,可以使用AllowOverride的其他设置选项,那样.htaccess只能使用允许的设置选项。
要在.htaccess文件中针对IP地址和域名进行控制,就需要使用访问控制语句的Limit语句。因此就要求httpd.conf中必须允许控制文件使用Limit功能,对应的设置为AllowOverride Limit选项(或All选项)。
Limit语句可以使用不同的参数,这些参数为HTTP协议的请求方法,如使用<limit GET> 限制HTTP协议中的GET方法,<limit POST>限制http协议中的POST方法,使用</limit>标识这个控制段的结束。对于一般的情况,可以对大部分客户打开 GET、POST和HEAD 请求,而关闭PUT、DELETE等其他更复杂且不常用的请求。
如果在.htaccess中没有使用Limit语句指定具体的访问方法,那么就表示访问控制命令将对所有的请求方法都进行控制。
Order定义服务器查询访问控制的顺序,当设置为Order Allow, Deny的时候将先处理Allow 语句,再处理Deny语句。Order Deny, Allow的处理顺序相反。由于这两种不同的方式代表不同的访问控制策略,Order deny, allow和deny from all合作,是用于只允许设置过的客户机访问服务器,而Order allow, deny和allow from all合作,是允许所有的客户机访问,而仅仅屏蔽部分具有恶意的网络地址。
在每个Allow或Deny命令中,可以使用域名(从后向前匹配)、IP(从前向后匹配),all(代表所有主机)来标识Internet上的计算机。这里是一个例子:
order deny, allow
deny from all
allow from 192.168.1.
allow from example.org.cn
allow from 127. |
|