2.2当中的访问控制:
AllowOveried None //是否禁用控制功能;
Order
Allow Deny //不允许的都拒绝,Deny Allow表示不拒绝都允许;
Allow
IPADDR //允许的IP列表;
Deny
IPADDR //拒绝的IP列表;
PS:列表的IP可以使用IP段或者IP地址;
Apache 2.4访问控制:
通过<RequireAll></RequireAll>来进行控制,一下给出示例;
<Dricetory /var/www/html>
<RequireAll>
Require all granted //允许所有访问;
Require all denied //拒绝所有访问;
Require ip IPADDR //允许IP列表;
Require not ip IPADDR //拒绝IP列表;
Require host HostName //允许各别HostName访问;
</RequireAll>
以下是转自网络http://www.cnblogs.com/leoyu/p/apache24_use_require_for_access_control_by_ip_and_useragent.html;
例6:允许所有访问请求,但拒绝某些User-Agent的访问请求(通过User-Agent屏蔽垃圾网络爬虫)
使用mod_setenvif通过正则表达式匹配来访请求的User-Agent,并设置内部环境变量BADBOT,最后拒绝BADBOT的访问请求。
Apache2.4下的配置:
<Directory xxx/www/yoursite> SetEnvIfNoCase User-Agent ".*(FeedDemon|JikeSpider|AskTbFXTV|CrawlDaddy|Feedly|Swiftbot|ZmEu|oBot).*" BADBOT SetEnvIfNoCase User-Agent "brandwatch" BADBOT SetEnvIfNoCase User-Agent "rogerbot" BADBOT <RequireAll> Require all granted Require not env BADBOT Require not ip 192.168.100.1 </RequireAll> </Directory>
其它require访问控制指令用法如下:
Require all granted #允许所有 Require all denied #拒绝所有 Require env env-var [env-var] ... #允许匹配环境变量中任意一个 Require method http-method [http-method] ... #允许特定的HTTP方法(GET/POST/HEAD/OPTIONS) Require expr expression #允许,表达式为true Require user userid [ userid ] ... #允许特定用户 Require group group-name [group-name] ... #允许特定用户组 Require valid-user # #允许,有效用户 Require ip 192.100 192.168.100 192.168.100.5 #允许特定IP或IP段,多个IP或IP段间使用空格分隔
时间: 2024-10-16 04:45:53