楼主: a276229381

通过CLOUDFLARE屏蔽国家代码。

[复制链接]

13

主题

382

回帖

861

积分

高级会员

积分
861
发表于 2016-11-7 00:01:47 | 显示全部楼层
本帖最后由 DeepSkyFire 于 2016-11-7 01:41 编辑

a276229381 发表于 2016-11-6 23:02

我是WDCP  我修改的  www/wdlinux/nginx/conf/vhost/www.123.com.conf




        if ($http_cf-ipcountry ~* (CN|KP|VN|JP)){
        return 403;
        }

你就别再问了,我之前已经给你过一个确定能用的PHP代码,你自己不用也不会去搜。所以你就别再问我这代码加哪里去了。我能做的就只能做到这了。拜拜。
回复

使用道具 举报

120

主题

316

回帖

1072

积分

金牌会员

积分
1072
 楼主| 发表于 2016-11-7 00:24:05 | 显示全部楼层

DeepSkyFire 发表于 2016-11-7 01:19

if ($http_cf-ipcountry ~* (CN|KP|VN|JP)){
        return 403;
        }

虽然不好意思。。但是我还是想问一下。。
server {
        listen       80;
        root /www/web/123_com/public_html;
        server_name 123.com;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/4041.html;
        error_page  503 /errpage/503.html;
        location ~ \.php$ {
                proxy_pass http://127.0.0.1:88;
                include naproxy.conf;
        }
        location ~ /\.ht {
                deny  all;
        }
        location / {
                try_files $uri @apache;
        }
        location @apache {
                 proxy_pass http://127.0.0.1:88;
                 include naproxy.conf;
        }  

if ($HTTP_CF-IPCountry ~* (CN|KP|VN|JP)){
        return 403;
        }   
      
         
}


加上去之后。。还是可以访问网站 根本无效啊。。你说的PHP代码 我测试过了 也搜了相关资料。快几个月了。没结果。。我肯定是搜了教程的。
回复

使用道具 举报

249

主题

1354

回帖

3581

积分

论坛元老

积分
3581
发表于 2016-11-7 00:47:57 | 显示全部楼层
哈哈哈哈哈,围观255狂人
回复

使用道具 举报

492

主题

7297

回帖

1万

积分

论坛元老

积分
16262
发表于 2016-11-7 00:53:00 | 显示全部楼层
来看看255
回复

使用道具 举报

95

主题

341

回帖

1081

积分

金牌会员

积分
1081
发表于 2016-11-7 00:53:18 | 显示全部楼层
本帖最后由 zhaoxi 于 2016-11-7 14:41 编辑

nginx屏蔽ip 适用于挂了cdn的,楼下是防火,不挂cdn的

首先想到要屏蔽中国IP就会是把中国IP库加入Nginx配置文件中,然后WEB服务器对比IP来达到屏蔽。

在Nginx中加deny IP;
批量可以建立一个ip.conf的文件然后include ip.conf;
1
2
        
在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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
        
#!/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地址,也就是可以被另类的屏蔽掉了。

最后介绍一种利用浏览器屏蔽之法:


1
2
3
4
5
6
7
        


回复

使用道具 举报

744

主题

5553

回帖

1万

积分

论坛元老

积分
13482
发表于 2016-11-7 01:14:14 | 显示全部楼层
本帖最后由 zhaoxi 于 2016-11-7 14:47 编辑

cloudflare  管理页面封ip的话,  支持屏蔽国家代码 要交200,支持自定义屏蔽少量ip段的不用交,支持多的ip段的话要交20
回复

使用道具 举报

7

主题

98

回帖

275

积分

中级会员

积分
275
发表于 2016-11-7 01:16:58 | 显示全部楼层
不知何時又255了
回复

使用道具 举报

125

主题

2698

回帖

5901

积分

论坛元老

积分
5901
发表于 2016-11-7 01:19:38 | 显示全部楼层
这个按照国家识别,NGINX+GEOIP,可以简单解决的.
甚至可以多开条件,各种混杂.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部