天天看點

Centos7.2 Apache根據User-Agent設定通路禁止

Apache可以設定資源的通路限制,在配置檔案裡通過mod_authz_host子產品設定限制,這是在apache,2.4版本及以後中才有的子產品,在2.2版本,是通過Order,Allow,Deny指令來實作限制功能。

這裡記錄下apache 的設定:

$ vim /etc/httpd/conf/httpd.conf (  修改apache配置檔案 )

------------------------------------------------------------------------------------------------------

<Directory xxx/www/yoursite> #指定資源

SetEnvIfNoCase User-Agent ".*(FeedDemon|JikeSpider|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>

---------------------------------------------------------------------------------------------------

根絕自己需要自定 限制規則,然後重新開機服務即可生效。

Apche 的mod_authz_host 子產品的其他使用方法如下:

---------------------------------------------------------------------------------------------------------

Require all granted #允許所有

Require all denied #拒絕所有

Require env env-var env-var #允許比對環境變量中任意一個

Require method http-method http-method #允許特定的HTTP方法(GET/POST/HEAD/OPTIONS)

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

---------------------------------------------------------------------------------------------------------

好的,就到這裡,記錄一下,共同學習。