一个属于你的次元网络基地
 
昨日:篇  今日:篇   总帖:篇   会员:
小狼人Lv92   
屏蔽中国的IP地址的php代码     网页编程
做外贸的网站一般都不想让国内人访问,可以采用如下的方法:

1. 从APNIC获取一份国家与地区IP段数据 ftp://ftp.apnic.net/apnic/dbase/data/country-ipv4.lst
2. 将中国的数据整理取出(用excel的数据筛选功能)
3. 编写PHP代码如下:

<?php
  function ipCIDRCheck ($IP, $CIDR) {
    list ($net, $mask) = split (“/”, $CIDR);
    if($mask>16){
  $net=$net.”.0″;
}else{
  $net=$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);
  }
$subnets=<<<Eof
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
Eof;
$subnetarray=explode(“\n”,$subnets);
foreach($subnetarray as $subnet){
if(ipCIDRCheck (“60.168.86.219″, $subnet)){
  echo “60.168.86.219 in => “.$subnet;
  //取得用户ip后,与之比较,如果匹配,就可以在这里显示一个错误页,或重定向了
};
}
?>
程序执行时间平均20毫秒,篇幅有限,仅列出部分IP段,完整的请自行获取。

 7  已被阅读了2924次  楼主 2017-07-21 15:48:55
回复列表

回复:屏蔽中国的IP地址的php代码

加入官群 QQ咨询 友链展示 申请友链
粤ICP备18094291号
您的IP:3.144.16.254,2024-05-05 17:47:40,Processed in 0.09153 second(s).
免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。
Powered by HadSky 8.0.0
已有0次打赏
(7) 分享
分享

请保存二维码或复制链接进行分享

取消