首页 > Web开发 > 详细

Apache访问控制

时间:2016-01-01 23:10:07      阅读:452      评论:0      收藏:0      [点我收藏+]

  有时候我们会把站点,做一个白名单或者黑名单的限制比如说我们发现一个来源的IP会有非法的请求,那我们通过访问日志可以发现其中某一个IP一直在进行尝试攻击我的站点,这个时候我就可以把这个IP禁掉,我们可以在配置文件里去实现,怎么做呢我们先去主配置文件里去拷贝一个模板

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

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

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

拷贝到虚拟主机的配置文件里面去

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

具体位置放在哪了都行

<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



Apache访问控制

原文:http://mengjunlinux.blog.51cto.com/10772888/1730672

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!