外贸网站屏蔽中国IP访问的多种方法

大家都知道的原因,做外贸站,国人喜欢研究你的站,还总是帮你进行压力测试……
首先想到要屏蔽中国IP就会是把中国IP库加入Nginx配置文件中,然后WEB服务器对比IP来达到屏蔽。

代码如下:

在Nginx中加deny IP;
批量可以建立一个ip.conf的文件然后include ip.conf;

其次是通过IPtable要禁止中国IP段来达到屏蔽的目的。


以下是Iptable的Sh脚本:

代码如下:

#!/bin/bash
# Block traffic from a specific country
# written by vpsee.com
 
COUNTRY = “cn”
IPTABLES = /sbin/iptables
EGREP = /bin/egrep
 
if [ "$(id -u)" != "0" ]; then
echo “you must be root” 1>&2
exit 1
fi
 
resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}
 
resetrules
 
for c in $COUNTRY
do
country_file = $c.zone
 
IPS = $($EGREP -v “^#|^$” $country_file)
for ip in $IPS
do
echo “blocking $ip”
$IPTABLES -A INPUT -s $ip -j DROP
done
done
 
exit 0

今天在网上又看到了一种更绝的屏蔽之法:国内有个免费解析的服务商DNSPOD,我们就是利用其独特的解析方式,进行最有效的DNS屏蔽。国内的网络不外乎联通(原网通)、电信、教育网等几种访问模式,恰好,DNSPOD提供了这3种解析模式。首先,我们添加一个默认的解析地址,这里填的是8.8.8.8(请自行对照是您网站的正确IP地址),然后我们依次添加选择3种不同线路的错误IP地址,比如 127.0.0.1,这样来自于国内的访问几乎被彻底的解析到错误的IP地址,也就是可以被另类的屏蔽掉了。

第二种方法:利用浏览器屏蔽之法:

代码如下:

<script type="text/javascript">
if (navigator.language)
var language = navigator.language;
else
var language = 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文件,我们可以使用记事本打开。以下是一些允许或禁止的规则:

order allow,deny
# 禁止一个ip地址
deny from 123.125.125.147

# 禁止一个ip段
deny from 210.145.95.0/255

# 或者你需要在这ip段中允许部分ip
allow from 210.145.95.123

# 除此之外一切均可以访问
allow from all

为了禁止中国IP访问,我们需要在.htaccess文件中添加以下规则:

<Limit GET HEAD POST>
order allow,deny
allow from all
deny from 1.0.1.0/22
其它中国IP段
</Limit>

1.0.1.0/22 是其中1个中国IP段,为禁止所有中国IP访问,我们还需要把所有中国IP段加上去。为方便大家,这里做了个禁止所有中国IP的htaccess文本(txt)文件,点击下载 或者到网盘下载 ;大家可以下载后上传到空间根目录,然后在空间重新命名为.htaccess 即可;也可以把它用记事本打开,复制里面的代码粘贴到空间的.htaccess文件中;

(0)

相关推荐

  • 外贸网站屏蔽中国IP访问的多种方法

    大家都知道的原因,做外贸站,国人喜欢研究你的站,还总是帮你进行压力测试-- 首先想到要屏蔽中国IP就会是把中国IP库加入Nginx配置文件中,然后WEB服务器对比IP来达到屏蔽. 复制代码 代码如下: 在Nginx中加deny IP; 批量可以建立一个ip.conf的文件然后include ip.conf; 其次是通过IPtable要禁止中国IP段来达到屏蔽的目的. 以下是Iptable的Sh脚本: 复制代码 代码如下: #!/bin/bash # Block traffic from a sp

  • vue-cli项目无法用本机IP访问的解决方法

    所遇问题 启动vue-cli项目服务,用本机IP无法访问此网站,拒绝了我们的链接请求.从而无法从手机上预览效果 原因分析 在我们的bulid目录下有一个webpack.dev.config.js的配置文件,发现devServer对象里的host属性取自process.env.HOST || config.dev.host. 于是这里我们去查看config.dev.host.在我们的config目录下有一个index.js, 找到dev对象的host属性 发现该版本的vue-cli将host主机名

  • python统计日志ip访问数的方法

    本文实例讲述了python统计日志ip访问数的方法.分享给大家供大家参考.具体如下: import re f=open("/tmp/a.log","r") arr={} lines = f.readlines() for line in lines: ipaddress=re.compile(r'^#(((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?))') match=ipaddres

  • webpack本地开发环境无法用IP访问的解决方法

    问题描述: 只能用http://localhost:8080访问项目,不能用http://本机IP:8080访问 解决方案: webpack dev配置文件中加上 host:'0.0.0.0' 以上这篇webpack本地开发环境无法用IP访问的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 解决webpack无法通过IP地址访问localhost的问题

  • Windows Server 2008 R2通过IP安全策略阻止某个IP访问的设置方法

    现在购买的服务器的朋友会发现,稍微新点的硬盘已经不支持win2003系统了,主要是驱动人家都不给你弄了,再加上微软对2003的安全也不提供支持,以后很难有补丁了.推荐大家使用2008 r2的系统了,对于动辄32G/64G的服务器,跑2003真的很浪费了. 下面我们小编就为大家分享一下具体的方法,最后有好东西提供: 一. 打开本地安全策略 1.在"开始"-"运行"输入"secpol.msc"回车即打开"本地安全策略"页面,见图1

  • mysql数据库无法被其他ip访问的解决方法

    前言 还是之前说的项目,环境目前已经准备好了,项目准备验证阶段发现了一个问题,从上层应用输入鉴权访问应用,一直在等待状态,输入了正确的用户名及密码,却无法访问.看起来像是没办法访问到数据库连接的意思. mysql部署后的端口一般都是3306,尝试去ping和telnet 3306端口,发现ip可以ping通,但是3306端口无法被telnet,并且给出了一个这样的报错: ERROR 1130: Host *.*.*.* is not allowed to connect to MySQL 看到这

  • 添加Nginx代理配置只允许内部IP访问的实现方法

    location / { index index.jsp; proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; deny 192.168.1.1;

  • 分析nginx日志并屏蔽采集者ip(nginx屏蔽ip配置实例)

    采集和防止采集是一个经久不息的话题,一方面都想搞别人的东西,另一方面不想自己的东西被别人搞走. 本文介绍如何利用nginx屏蔽ip来实现防止采集,当然也可以通过iptable来实现. 1.查找要屏蔽的ip 复制代码 代码如下: awk '{print $1}' nginx.access.log |sort |uniq -c|sort -n nginx.access.log 为日志文件, 会到如下结果,前面是ip的访问次数,后面是ip,很明显我们需要把访问次数多的ip并且不是蜘蛛的ip屏蔽掉,本例

  • vue 本地服务不能被外部IP访问的完美解决方法

    解决 webpack-dev-serveri 启动后通过外部访问报错 invalid host header 修改 config/index.js 的 host 属性为 '0.0.0.0' { // ..., host: '0.0.0.0', port: 8080, // ... } 修改 build/webpack.dev.conf.js 的 devServer 配置 增加 disableHostCheck = true devServer: { clientLogLevel: 'warnin

  • Java获取用户访问IP及地理位置的方法详解

    本文实例讲述了Java获取用户访问IP及地理位置的方法.分享给大家供大家参考,具体如下: 获取用户访问的IP地址 /** * 获取用户ip地址 * @return */ public static String getIp(HttpServletRequest request){ String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown&qu

随机推荐