外贸网站屏蔽中国IP访问的多种方法
大家都知道的原因,做外贸站,国人喜欢研究你的站,还总是帮你进行压力测试……
首先想到要屏蔽中国IP就会是把中国IP库加入Nginx配置文件中,然后WEB服务器对比IP来达到屏蔽。
在Nginx中加denyIP; 批量可以建立一个ip.conf的文件然后includeip.conf;
其次是通过IPtable要禁止中国IP段来达到屏蔽的目的。
以下是Iptable的Sh脚本:
#!/bin/bash #Blocktrafficfromaspecificcountry #writtenbyvpsee.com COUNTRY=“cn” IPTABLES=/sbin/iptables EGREP=/bin/egrep if["$(id-u)"!="0"];then echo“youmustberoot”1>&2 exit1 fi resetrules(){ $IPTABLES-F $IPTABLES-tnat-F $IPTABLES-tmangle-F $IPTABLES-X } resetrules forcin$COUNTRY do country_file=$c.zone IPS=$($EGREP-v“^#|^$”$country_file) foripin$IPS do echo“blocking$ip” $IPTABLES-AINPUT-s$ip-jDROP done done exit0
今天在网上又看到了一种更绝的屏蔽之法:国内有个免费解析的服务商DNSPOD,我们就是利用其独特的解析方式,进行最有效的DNS屏蔽。国内的网络不外乎联通(原网通)、电信、教育网等几种访问模式,恰好,DNSPOD提供了这3种解析模式。首先,我们添加一个默认的解析地址,这里填的是8.8.8.8(请自行对照是您网站的正确IP地址),然后我们依次添加选择3种不同线路的错误IP地址,比如127.0.0.1,这样来自于国内的访问几乎被彻底的解析到错误的IP地址,也就是可以被另类的屏蔽掉了。
第二种方法:利用浏览器屏蔽之法:
<scripttype="text/javascript"> if(navigator.language) varlanguage=navigator.language; else varlanguage=navigator.browserLanguage; if(language.indexOf('zh')>-1)document.location.href='nddbc.html'; </script>
第三种方法:利用.htaccess文件来禁止中国IP段访问;
.htaccess(别忘了前面1个点)文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。.htaccess文件一般在你网站的根目录可以找到;如果没有,在windows系统下可以通过以下方法创建一个:
打开Windows内建的记事本;
选取另存新文件“文件->另存为”;
在另存为的“保存类型”下拉选单中选取“所有文件”类型,可以选择utf-8,也可以是ansi
在“文件名”中输入.htaccess;
选取要另存的路径再按下保存,一个.htaccess文件就新增完成。
.htaccess文件,我们可以使用记事本打开。以下是一些允许或禁止的规则:
orderallow,deny #禁止一个ip地址 denyfrom123.125.125.147 #禁止一个ip段 denyfrom210.145.95.0/255 #或者你需要在这ip段中允许部分ip allowfrom210.145.95.123 #除此之外一切均可以访问 allowfromall
为了禁止中国IP访问,我们需要在.htaccess文件中添加以下规则:
<LimitGETHEADPOST>
orderallow,deny
allowfromall
denyfrom1.0.1.0/22
其它中国IP段
</Limit>
1.0.1.0/22是其中1个中国IP段,为禁止所有中国IP访问,我们还需要把所有中国IP段加上去。为方便大家,这里做了个禁止所有中国IP的htaccess文本(txt)文件,点击下载或者到网盘下载;大家可以下载后上传到空间根目录,然后在空间重新命名为.htaccess即可;也可以把它用记事本打开,复制里面的代码粘贴到空间的.htaccess文件中;