Apache 2.4 訪問控制;

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章