首页 服务器技术 nginx

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;
相关推荐