apache、iis、nginx拦截屏蔽ip
网站管理过程中,总是存在某个ip或ip段大量恶意访问自己网站的情况,直接导致服务器带宽跑满,直接影响自己网站打开慢,或者直接打不开情况。
apache
#1.1.2.2表示某个ip
#3.3.3. 表示这个ip段
<IfModule mod_rewrite.c>
RewriteEngine On
#Block ip
RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR}&%{http:X-Real-IP} (1.1.2.2|3.3.3.) [NC]
RewriteRule (.*) - [F]
</IfModule>
iis6
ii6通过isapi重写组件
#Block ip
RewriteCond %{HTTP_X_FORWARDED_FOR}&%{REMOTE_ADDR}&%{HTTP_X_Real_IP} (1.1.2.2|3.3.3.) [NC]
RewriteRule (.*) - [F]
iis7以上web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="band ip" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="%{HTTP_X_FORWARDED_FOR}&%{REMOTE_ADDR}&%{HTTP_X_Real_IP}" pattern="(1.1.2.2|3.3.3.)" />
</conditions>
<action type="AbortRequest" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
nginx
添加到配置文件server段内
#屏蔽192.168.1.1这个IP
deny 192.168.1.1;
#屏蔽192.168.5.* 这个段
deny 192.168.5.0/24;