Loading
0

IIS6/IIS7以上Nginx/Apache屏蔽拦截某个ip或拦截禁止某个ip段访问站点方法

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器
前言,在实际生产环境中往往需要屏蔽某个ip或ip段访问自己的网站,屏蔽方法可参考一下规则操作。
注意,以下范例中有的是:8.8.4.4 及8.8.8.8
8.8.4.4 请将这个ip换成您要屏蔽的ip
8.8.8.表示屏蔽
8.8.8这个c段,后面有一个点号哦,
将ip更换为您自己需要屏蔽的ip或ip段即可

Apache规则,如下,请添加到网站根目录下的.htaccess文件中即可:


    <IfModule mod_rewrite.c>
    RewriteEngine On
    #Block ip by blog.tag.gg
    RewriteCond %{http:X-Forwarded-For}&%{REMOTE_ADDR}&%{http:X-Real-IP} (8.8.4.4|8.8.8.) [NC]
    RewriteRule (.*) - [F]
    </IfModule>

IIS6规则如下,请添加到isapi重写组件文件中:
#Block ip by blog.tag.gg
RewriteCond %{HTTP_X_FORWARDED_FOR}&%{REMOTE_ADDR}&%{HTTP_X_Real_IP} (8.8.4.4|8.8.8.) [NC]
RewriteRule (.*) - [F]
IIS7及以上web服务规则如下,请添加都网站根目录下的web.config文件中:
屏蔽某个ip或某个ip段访问网站,写法有两种方式(亲测有效
第一种写法:
<add input="{REMOTE_ADDR}" pattern="114.114.114.114" />   屏蔽114.114.114.114 这个具体ip
<add input="{REMOTE_ADDR}" pattern="88.88.88." />     屏蔽88.88.88这个ip的c段,ip后面有个点不要省略了屏蔽b段请填写 88.88.
第二种写法:

<add input="{REMOTE_ADDR}" pattern="114\.114\.114\.114" />   屏蔽114.114.114.114 这个具体ip
<add input="{REMOTE_ADDR}" pattern="88\.88\.88\.[0-5]" />       屏蔽88.88.88这个ip的c段,若屏蔽b段,请填写  88\.88\.[0-5]\.[0-5]

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Block SomeRobot" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions logicalGrouping="MatchAny">
                        <add input="{REMOTE_ADDR}" pattern="114.114.114.114" />
                        <add input="{REMOTE_ADDR}" pattern="88.88.88." />
                        <add input="{REMOTE_ADDR}" pattern="114\.114\.114\.114" />
                        <add input="{REMOTE_ADDR}" pattern="88\.88\.88\.[0-5]" />
                    </conditions>
                    <action type="AbortRequest" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

web.config第二种方法屏蔽某ip访问:亲测有效若使用了反向代理,请选择第这种屏蔽方法
屏蔽具体ip访问:<add input="%{HTTP_X_FORWARDED_FOR}&amp;%{REMOTE_ADDR}&amp;%{HTTP_X_Real_IP}" pattern="(8.8.8.8)" />
屏蔽某ip段访问:<add input="%{HTTP_X_FORWARDED_FOR}&amp;%{REMOTE_ADDR}&amp;%{HTTP_X_Real_IP}" pattern="(8.8.8.|4.4.4.)" /> 不要省略了后面的点

<?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}&amp;%{REMOTE_ADDR}&amp;%{HTTP_X_Real_IP}" pattern="(8.8.8.8)" />
                    </conditions>
                    <action type="AbortRequest" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>  
</configuration>

Nginx规则如下,请添加到配置文件中的server段中,将ip或ip段替换为您需要屏蔽的即可
#添加到配置文件server段内
#屏蔽192.168.5.23这个IP
deny 192.168.5.23;
#屏蔽192.168.5.* 这个段
deny 192.168.5.0/24;
TOMCAT屏蔽规则如下,编辑server.xml  在  <Host></Host>之间添加如下规则即可,
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="8.8.4.4"/>

以上是本站原创,转载请注明出处,https://blog.tag.gg/showinfo-36-35758-0.html
技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-36-35758-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:IIS6/IIS7以上、Nginx、Apache拦截屏蔽异常蜘蛛UA爬行降低负载方法
下一篇:Apache、IIS、Nginx下禁止post请求方法