Apache服务器如何限制IP访问:第一招——配置文件

时间:2025-02-15 11:13:35

    web服务器经常会面临某些流氓IP段的访问,有时需要限制它们的访问以保证其他用户的正常访问流量。

    最常见的方法是修改文件,例如:

<Directory />
    Order deny,allow
    Deny from all
    Allow from 192.2.6.8
</Directory>

就表示根目录不允许任何人访问,只允许192.2.6.8这个指定IP访问。


    但是当需要阻止或允许的IP或者IP段数量较多时,就不能都写在httpd配置文件里了,这时,可以通过建立.htaccess文件来控制访问权限。

    首先,修改文件中,加入AllowOverride选项:
<Directory />
    AllowOverride All
</Directory>

    然后在对应的目录下(此处为根目录/下)放置.htaccess文件,文件内容如下:

Order allow,deny
allow from 218.202.227.0/24
allow from 1.0.1.0/24
allow from 1.0.2.0/23
allow from 1.0.8.0/21
allow from 1.0.32.0/19
allow from 1.1.0.0/24
allow from 1.1.2.0/23
allow from 1.1.4.0/22
deny from all
就可以允许文件中对应的IP段访问,从而起到过滤IP的作用了。

    使用配置文件的方法的最大优点是简单,通过简单的配置就可以实现IP过滤功能;而最大的缺点就是当需要过滤的IP段很多(如2000以上)时,性能较差,在高并发时会影响服务器的性能。因为Apache自带的模块加载文件后,每次都会遍历查找ip是否匹配,效率较差。

    下一篇将介绍如何自己开发一个插件,实现高性能的IP过滤~