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段間使用空格分隔