屏蔽国内IP地址

引子:一些做外贸的网站会处于种种原因需要区别国内和国外的访问者,这里我提供一个PHP实现判断国内IP的方法

IP地址段数据来源:ftp://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst
整理出cn的IP段,保存为chinaIP.bin

PHP代码:
function ipCheck ($ip, $cidr) {
  list ($net, $mask) = split ("/", $cidr);
  if( $mask > 16 ){
    $net .= ".0";
  }else{
    $net .= ".0.0";
  }
  $ip_net = ip2long( $net );
  $ip_mask = ~((1 << (32 - $mask)) - 1);
  $ip_ip = ip2long( $ip );
  $ip_ip_net = $ip_ip & $ip_mask;
  return ( $ip_ip_net == $ip_net );
}

/**
* 判断是否国内IP
*/
function isChinaIp( $ip = null ) {
  $ip = $ip ? $ip : getIp();
  $iplibpath = 'chinaIP.bin';
  $isChinaIp = false;
  if(is_file($iplibpath)) {
    $file_handle = fopen($iplibpath, "r");
    while (!feof($file_handle)) {
      $line = fgets($file_handle);
      if( $this->ipCheck( $ip , $line) ){
        $isChinaIp = true;
        break;
      }
    }
    fclose($file_handle);
  }
  return $isChinaIp;
}

我整理出的chinaIP.bin文件(2010-12-21),可能要定期更新一下,不过这个IP段不会随意改动的
1.12/14
1.24/13
1.45/16
1.48/14
1.56/13
1.68/14
1.80/12
1.116/14
1.180/14
1.184/15
1.188/14
1.192/13
1.202/15
1.204/14
101.4/14
101.16/12
101.32/12
101.48/15
101.64/13
101.72/14
101.76/15
101.104/14
101.120/14
110.6/15
110.16/14
110.40/14
110.48/16
110.51/16
110.52/15
110.56/13
110.64/15
110.72/15
110.75/16
110.76.0/18
110.76.192/18
110.77.0/17
110.80/13
110.88/14
110.94/15
110.96/11
110.152/14
110.156/15
110.165.32/19
110.166/15
110.172.192/18
110.173.0/19
110.173.32/20
110.173.64/18
110.173.192/19
110.176/12
110.192/11
110.228/14
110.232.32/19
110.236/15
110.240/12
111.0/10
111.66/16
111.67.192/20
111.68.64/19
111.72/13
111.85/16
111.91.192/19
111.112/14
111.116/15
111.119.64/18
111.119.128/19
111.120/14
111.124/16
111.126/15
111.128/11
111.160/13
111.170/16
111.172/14
111.176/13
111.186/15
111.192/12
111.208/13
111.221.128/17
111.222/16
111.223.240/22
111.223.248/22
111.224/13
111.235.96/19
111.235.160/19
112.0/10
112.64/14
112.73/16
112.74/15
112.80/12
112.96/13
112.109.128/17
112.111/16
112.112/14
112.116/15
112.122/15
112.124/14
112.128/14
112.132/16
112.192/14
112.224/11
113.0/13
113.8/15
113.11.192/19
113.12/14
113.16/15
113.18/16
113.24/14
113.31/16
113.44/14
113.48/14
113.52.160/19
113.54/15
113.56/15
113.58/16
113.59.0/17
113.62/15
113.64/10
113.128/15
113.130.96/20
113.130.112/21
113.132/14
113.136/13
113.194/15
113.200/15
113.202/16
113.204/14
113.208.96/19
113.208.128/17
113.209/16
113.212.0/18
113.213.0/17
113.214/15
113.218/15
113.220/14
113.224/12
113.240/13
113.248/14
114.28/16
114.54/15
114.60/14
114.64/14
114.68/16
114.80/12
114.96/13
114.104/14
114.110.0/20
114.110.64/18
114.110.128/17
114.111.0/19
114.111.160/19
114.112/13
114.132/16
114.135/16
114.138/15
114.141.128/18
114.196/15
114.208/12
114.224/11
115.24/14
115.28/15
115.32/14
115.44/14
115.48/12
115.84.0/18
115.84.192/19
115.85.192/18
115.100/14
115.104/14
115.120/14
115.124.16/20
115.148/14
115.152/13
115.168/13
115.180/14
115.192/11
115.224/12
116.1/16
116.2/15
116.4/14
116.8/14
116.13/16
116.16/12
116.52/14
116.56/15
116.58.128/20
116.58.208/20
116.60/14
116.66.0/17
116.69/16
116.70.0/17
116.76/14
116.89.144/20
116.90.80/20
116.90.184/21
116.95/16
116.112/14
116.116/15
116.128/10
116.192/16
116.193.16/20
116.193.32/19
116.194/15
116.196/16
116.198/16
116.199.0/17
116.199.128/19
116.204/15
116.207/16
116.208/14
116.212.160/20
116.213.64/18
116.213.128/17
116.214.32/19
116.214.64/20
116.214.128/17
116.215/16
116.216/14
116.224/12
116.242/15
116.244/14
116.248/15
116.252/15
116.254.128/17
116.255.128/17
117.8/13
117.21/16
117.22/15
117.24/13
117.32/13
117.40/14
117.44/15
117.48/14
117.53.48/20
117.53.176/20
117.57/16
117.58.0/17
117.59/16
117.60/14
117.64/13
117.72/15
117.74.64/20
117.74.128/17
117.75/16
117.76/14
117.80/12
117.100/15
117.103.16/20
117.103.128/20
117.106/15
117.112/13
117.120.64/18
117.120.128/17
117.121.0/17
117.121.128/18
117.121.192/21
117.122.128/17
117.124/14
117.128/10
118.24/13
118.64/15
118.66/16
118.67.112/20
118.72/13
118.80/15
118.84/15
118.88.32/19
118.88.64/18
118.88.128/17
118.89/16
118.91.240/20
118.102.16/20
118.112/13
118.120/14
118.124/15
118.126/16
118.132/14
118.144/14
118.178/16
118.180/14
118.184/13
118.192/12
118.212/15
118.224/14
118.228/15
118.230/16
118.239/16
118.242/16
118.244/14
118.248/13
119.0/15
119.2.0/19
119.2.128/17
119.3/16
119.4/14
119.8/15
119.10.0/17
119.15.136/21
119.16/16
119.18.192/20
119.18.208/21
119.18.224/19
119.19/16
119.20/14
119.27.64/18
119.27.160/19
119.27.192/18
119.28/15
119.30.48/20
119.31.192/19
119.32/13
119.40.0/18
119.40.64/20
119.40.128/17
119.41/16
119.42.0/18
119.42.136/21
119.42.224/19
119.44/15
119.48/13
119.57/16
119.58/16
119.59.128/17
119.60/15
119.62/16
119.63.32/19
119.75.208/20
119.78/15
119.80/15
119.84/14
119.88/14
119.96/13
119.108/15
119.112/12
119.128/12
119.144/14
119.148.160/20
119.161.128/17
119.162/15
119.164/14
119.176/12
119.232/15
119.235.128/18
119.248/14
119.253/16
119.254/15
120.0/12
120.24/14
120.30/15
120.32/12
120.48/15
120.52/14
120.64/13
120.72.32/19
120.72.128/17
120.76/14
120.80/13
120.88.8/21
120.90/15
120.92/16
120.94/15
120.128/13
120.136.128/18
120.137.0/17
120.192/10
121.0.16/20
121.4/15
121.8/13
121.16/12
121.32/13
121.40/14
121.46/15
121.48/15
121.51/16
121.52.160/19
121.52.208/20
121.52.224/19
121.55.0/18
121.56/15
121.58.0/17
121.58.144/20
121.59/16
121.60/14
121.68/14
121.76/15
121.79.128/18
121.89/16
121.100.128/17
121.101.208/20
121.192/13
121.201/16
121.204/14
121.224/12
121.248/14
121.255/16
122.0.64/18
122.0.128/17
122.4/14
122.8/13
122.48/16
122.49.0/18
122.51/16
122.64/11
122.96/15
122.102.0/20
122.102.64/19
122.112/14
122.119/16
122.136/13
122.144.128/17
122.152.192/18
122.156/14
122.192/14
122.198/16
122.200.64/18
122.204/14
122.224/12
122.240/13
122.248.48/20
123.0.128/18
123.4/14
123.8/13
123.49.128/17
123.52/14
123.56/13
123.64/11
123.96/15
123.98.0/17
123.99.128/17
123.100.0/19
123.101/16
123.103.0/17
123.108.128/20
123.108.208/20
123.112/12
123.128/13
123.136.80/20
123.137/16
123.138/15
123.144/12
123.160/12
123.176.80/20
123.177/16
123.178/15
123.180/14
123.184/13
123.196/15
123.199.128/17
123.206/15
123.232/14
123.242.0/17
123.244/14
123.249/16
123.253/16
124.6.64/18
124.14/15
124.16/15
124.20/14
124.28.192/18
124.29.0/17
124.31/16
124.40.112/20
124.40.128/18
124.42/16
124.47.0/18
124.64/15
124.66.0/17
124.67/16
124.68/14
124.72/13
124.88/13
124.108.8/21
124.108.40/21
124.112/13
124.126/15
124.128/13
124.147.128/17
124.151/16
124.156/16
124.160/13
124.172/14
124.192/15
124.196/16
124.200/13
124.220/14
124.224/12
124.240.0/17
124.240.128/18
124.242/16
124.243.192/18
124.248.0/17
124.249/16
124.250/15
124.254.0/18
125.31.192/18
125.32/12
125.58.128/17
125.61.128/17
125.62.0/18
125.64/11
125.96/15
125.98/16
125.104/13
125.112/12
125.169/16
125.171/16
125.208.0/18
125.210/15
125.213.0/17
125.214.96/19
125.215.0/18
125.216/13
125.254.128/17
134.196/16
14.16/12
14.102.156/22
14.103/16
14.104/13
14.112/12
14.130/15
14.134/15
14.144/12
14.192.60/22
14.196/15
14.204/15
14.208/12
159.226/16
161.207/16
162.105/16
166.111/16
167.139/16
168.160/16
175.0/12
175.16/13
175.24/14
175.30/15
175.42/15
175.44/16
175.46/15
175.48/12
175.64/11
175.102/16
175.106.128/17
175.146/15
175.148/14
175.152/14
175.160/12
175.178/16
175.184.128/18
175.185/16
175.186/15
175.188/14
180.76/14
180.84/15
180.86/16
180.88/14
180.94.56/21
180.94.96/20
180.95.128/17
180.96/11
180.129.128/17
180.130/16
180.136/13
180.148.224/19
180.149.128/19
180.150.160/19
180.152/13
180.160/12
180.178.192/18
180.184/14
180.188.0/17
180.189.148/22
180.200.252/22
180.201/16
180.202/15
180.208/15
180.210.224/19
180.212/15
180.222.224/19
180.223/16
180.233.0/18
180.233.64/19
180.235.64/19
182.16.192/19
182.18.0/17
182.32/12
182.48.96/19
182.49/16
182.50.0/20
182.50.112/20
182.51/16
182.54.0/17
182.61/16
182.80/13
182.88/14
182.92/16
182.96/11
182.128/12
182.144/13
182.157/16
182.160.64/19
182.174/15
182.200/13
182.236.128/17
182.238/16
182.239.0/19
182.240/13
182.254/16
183.0/10
183.64/13
183.81.180/22
183.84/15
183.91.128/22
183.91.144/20
183.92/14
183.128/11
183.160/13
183.168/15
183.170/16
183.172/14
183.182.0/19
183.184/13
183.192/10
192.124.154/24
192.188.170/24
198.17.7/24
202.0.110/24
202.0.176/22
202.4.128/19
202.4.252/22
202.8.128/19
202.10.64/20
202.14.88/24
202.14.235/24
202.14.236/23
202.14.238/24
202.20.120/24
202.22.248/21
202.38.0/20
202.38.64/18
202.38.128/21
202.38.136/23
202.38.138/24
202.38.140/22
202.38.144/22
202.38.149/24
202.38.150/23
202.38.152/22
202.38.156/24
202.38.158/23
202.38.160/23
202.38.164/22
202.38.168/21
202.38.176/23
202.38.184/21
202.38.192/18
202.41.152/21
202.41.240/20
202.43.76/22
202.43.144/20
202.46.32/19
202.46.224/20
202.59.232/23
202.60.112/20
202.63.248/22
202.69.4/22
202.69.16/20
202.70.0/19
202.74.8/21
202.75.208/20
202.85.208/20
202.90.0/22
202.90.224/20
202.90.252/22
202.91.0/22
202.91.128/22
202.91.176/20
202.91.224/19
202.92.0/22
202.92.252/22
202.93.0/22
202.93.252/22
202.94.0/19
202.95.0/19
202.95.252/22
202.96/12
202.112/13
202.120/15
202.122.0/21
202.122.32/21
202.122.64/19
202.122.112/21
202.122.128/24
202.123.96/20
202.124.24/22
202.125.176/20
202.127.0/21
202.127.12/22
202.127.16/20
202.127.40/21
202.127.48/20
202.127.112/20
202.127.128/19
202.127.160/21
202.127.192/20
202.127.208/22
202.127.216/21
202.127.224/19
202.130.0/19
202.130.224/19
202.131.16/21
202.131.48/20
202.131.208/20
202.136.48/20
202.136.208/20
202.136.224/20
202.136.252/22
202.141.160/19
202.142.16/20
202.143.16/20
202.148.96/19
202.149.160/19
202.149.224/19
202.150.16/20
202.152.176/20
202.153.48/20
202.158.160/19
202.160.176/20
202.164.0/20
202.164.25/24
202.165.96/20
202.165.176/20
202.165.208/20
202.168.160/19
202.170.128/19
202.170.216/21
202.173.8/21
202.173.224/19
202.179.240/20
202.180.128/19
202.181.112/20
202.189.80/20
202.192/12
203.18.50/24
203.78.48/20
203.79.0/20
203.80.144/20
203.81.16/20
203.83.56/21
203.86.0/18
203.86.64/19
203.88.32/19
203.88.192/19
203.89.0/22
203.90.0/22
203.90.128/18
203.90.192/19
203.91.32/19
203.91.96/20
203.91.120/21
203.92.0/22
203.92.160/19
203.93/16
203.94.0/19
203.95.0/21
203.95.96/19
203.99.16/20
203.99.80/20
203.100.32/20
203.100.80/20
203.100.96/19
203.100.192/20
203.110.160/19
203.114.244/22
203.118.192/19
203.118.248/22
203.119.24/21
203.119.32/22
203.119.80/22
203.119.85/24
203.128.32/19
203.128.96/19
203.128.128/19
203.130.32/19
203.132.32/19
203.134.240/21
203.135.96/19
203.135.160/20
203.142.219/24
203.148.0/18
203.152.64/19
203.156.192/18
203.158.16/21
203.161.180/24
203.161.192/19
203.166.160/19
203.171.224/20
203.174.7/24
203.174.96/19
203.175.128/19
203.175.192/18
203.176.168/21
203.184.80/20
203.187.160/19
203.190.96/20
203.191.16/20
203.191.64/18
203.191.144/20
203.192.0/19
203.196.0/21
203.207.64/18
203.207.128/17
203.208.0/20
203.208.16/22
203.208.32/19
203.209.224/19
203.212.0/20
203.212.80/20
203.222.192/20
203.223.0/20
210.2.0/19
210.5.0/19
210.5.128/19
210.12/15
210.14.64/19
210.14.112/20
210.14.128/17
210.15.0/17
210.15.128/18
210.16.128/18
210.21/16
210.22/16
210.23.32/19
210.25/16
210.26/15
210.28/14
210.32/12
210.51/16
210.52/15
210.56.192/19
210.72/14
210.76/15
210.78/16
210.79.64/18
210.79.224/19
210.82/15
210.87.128/18
210.185.192/18
210.192.96/19
210.211.0/20
211.64/13
211.80/12
211.96/13
211.136/13
211.144/12
211.160/13
218.0/11
218.56/13
218.64/11
218.96/14
218.104/14
218.108/15
218.185.192/19
218.192/12
218.240/13
218.249/16
219.72/16
219.82/16
219.128/11
219.216/13
219.224/12
219.242/15
219.244/14
220.101.192/18
220.112/14
220.152.128/17
220.154/15
220.160/11
220.192/12
220.231.0/18
220.231.128/17
220.232.64/18
220.234/16
220.242/15
220.248/14
220.252/16
221.0/13
221.8/14
221.12.0/17
221.12.128/18
221.13/16
221.14/15
221.122/15
221.129/16
221.130/15
221.133.224/19
221.136/15
221.172/14
221.176/13
221.192/14
221.196/15
221.198/16
221.199.0/17
221.199.128/18
221.199.192/20
221.199.224/19
221.200/13
221.208/12
221.224/12
222.16/12
222.32/11
222.64/11
222.125/16
222.126.128/17
222.128/12
222.160/14
222.168/13
222.176/12
222.192/11
222.240/13
222.248/15
223.2/15
223.4/14
223.8/13
223.20/15
223.27.184/22
223.64/10
223.128/15
223.144/12
223.160/14
223.166/15
223.192/15
223.198/15
223.201/16
223.202/15
223.208/13
223.220/15
223.223.176/20
223.223.192/20
223.240/13
223.248/14
223.254/16
223.255.0/17
27.8/13
27.16/12
27.36/14
27.40/13
27.50.128/17
27.54.192/18
27.98.208/20
27.98.224/19
27.100.36/22
27.103/16
27.106.128/18
27.112.0/18
27.112.80/20
27.113.128/18
27.115.0/17
27.116.44/22
27.128/15
27.131.220/22
27.144/16
27.148/14
27.152/13
27.184/13
27.192/11
27.224/14
49.4/14
49.52/14
49.64/11
49.112/13
49.120/14
49.140/15
49.152/14
49.208/14
49.220/14
49.232/14
49.239.0/18
49.239.192/18
49.246.224/19
58.14/15
58.16/13
58.24/15
58.30/15
58.32/11
58.66/15
58.68.128/17
58.82/15
58.87.64/18
58.99.128/17
58.100/15
58.116/14
58.128/13
58.144/16
58.154/15
58.192/11
58.240/12
59.32/11
59.64/12
59.80/14
59.107/16
59.108/14
59.151.0/17
59.155/16
59.172/14
59.191.0/17
59.191.240/20
59.192/10
60.0/11
60.55/16
60.63/16
60.160/11
60.194/15
60.200/13
60.208/12
60.232/15
60.235/16
60.245.128/17
60.247/16
60.252/16
60.253.128/17
60.255/16
61.4.64/19
61.4.176/20
61.8.160/20
61.28.0/17
61.29.128/17
61.45.128/18
61.47.128/18
61.48/13
61.87.192/18
61.128/10
61.232/14
61.236/15
61.240/14

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值