Apache訪問控制

  有時候咱們會把站點,作一個白名單或者黑名單的限制好比說咱們發現一個來源的IP會有非法的請求,那咱們經過訪問日誌能夠發現其中某一個IP一直在進行嘗試***個人站點,這個時候我就能夠把這個IP禁掉,咱們能夠在配置文件裏去實現,怎麼作呢咱們先去主配置文件裏去拷貝一個模板php

[root@zhangmengjunlinux ~]# vim /usr/local/apache2/conf/httpd.confhtml

<Directory "/usr/local/apache2/cgi-bin">linux

    AllowOverride Noneapache

    Options Nonevim

    Order allow,denycurl

    Allow from allide

</Directory>url

拷貝到虛擬主機的配置文件裏面去spa

[root@zhangmengjunlinux ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.confrest

具體位置放在哪了都行

<Directory "/data/www">

    AllowOverride None                            這是一個控制語句

    Options None

    Order allow,deny

    Allow from all

    Deny from 2.2.2.2

</Directory>

這裏又一個講究這個Order咱們能夠先deny也能夠先Allow,哪個在前面就先看哪個,好比咱們這個地方先寫 Order Deny,allow那麼在下面的時候,就要先看Deny的語句了,前後它們是有影響的

 Deny from 1.1.1.1 因此先看這個規則

 Allow from all   全部的IP網段

若是寫成這個樣子deny是不生效的,最終全部都被容許,若是是 Order allow,deny 那麼就是先容許全部的經過,可是後來又發現一條規則把 1.1.1.1給deny了,因此關鍵的咱們要看它們的順序,哪個在前,哪個在後,而後根據這個順序去看規則,不分上下分的是前後順序

<Directory "/data/www">

    AllowOverride None                           

    Options None

    Order allow,deny

    Allow from all

    Deny from 127.0.0.1

</Directory>

那麼意味着咱們訪問127.0.0.1的時候是403

[root@zhangmengjunlinux ~]# curl -x127.0.0.1:80 www.test.com -I

HTTP/1.1 403 Forbidden

Date: Thu, 31 Dec 2015 09:33:36 GMT

Server: Apache/2.2.31 (Unix) PHP/5.3.27

Content-Type: text/html; charset=iso-8859-1

除了這種寫法還有根據URI forum.php或者是admin.php 這樣的訪問,他是咱們的後臺,那咱們徹底能夠根據admin.php去作一個簡單的白名單限制,只容許某一些人訪問我,怎麼作呢,能夠這樣寫 filesmatch 用這個來實現

<filesmatch "(.*)admin(.*)">

    Order deny,allow

    Deny from all

    Allow from 192.168.140.100

</filesmatch>

[root@zhangmengjunlinux ~]# apachectl -t

Syntax OK

[root@zhangmengjunlinux ~]# apachectl restart

[root@zhangmengjunlinux ~]# curl -x192.168.140.100:80 www.test.com/admin.php -I

HTTP/1.1 200 OK

Date: Thu, 31 Dec 2015 10:23:09 GMT

Server: Apache/2.2.31 (Unix) PHP/5.3.27

X-Powered-By: PHP/5.3.27

Set-Cookie: YQdF_2132_saltkey=MyWNr2Ex; expires=Sat, 30-Jan-2016 10:23:09 GMT; path=/; httponly

Set-Cookie: YQdF_2132_lastvisit=1451553789; expires=Sat, 30-Jan-2016 10:23:09 GMT; path=/

Set-Cookie: YQdF_2132_sid=WMOQJg; expires=Fri, 01-Jan-2016 10:23:09 GMT; path=/

Set-Cookie: YQdF_2132_lastact=1451557389%09admin.php%09; expires=Fri, 01-Jan-2016 10:23:09 GMT; path=/

Cache-Control: max-age=0

Expires: Thu, 31 Dec 2015 10:23:09 GMT

Content-Type: text/html; charset=gbk

相關文章
相關標籤/搜索