第二种代码:
function strtoint($str){
$ip=0;
$tetr=explode(".",$str);
for($i=0;$i<4;$i++){
$ip=$ip<<8;
$ip+=$tetr[$i];
}
return $ip;
}
if(getenv(’HTTP_CLIENT_IP’) && strcasecmp(getenv(’HTTP_CLIENT_IP’), ’unknown’)) {
$onlineip = getenv(’HTTP_CLIENT_IP’);
} elseif(getenv(’HTTP_X_FORWARDED_FOR’) && strcasecmp(getenv(’HTTP_X_FORWARDED_FOR’), ’unknown’)) {
$onlineip = getenv(’HTTP_X_FORWARDED_FOR’);
} elseif(getenv(’REMOTE_ADDR’) && strcasecmp(getenv(’REMOTE_ADDR’), ’unknown’)) {
$onlineip = getenv(’REMOTE_ADDR’);
} elseif(isset($_SERVER[’REMOTE_ADDR’]) && $_SERVER[’REMOTE_ADDR’] && strcasecmp($_SERVER[’REMOTE_ADDR’], ’unknown’)) {
$onlineip = $_SERVER[’REMOTE_ADDR’];
}
$onlineip = preg_replace("/^([\d\.]+).*/", "\\1", $onlineip);
//echo $onlineip;
//以上为获取IP
//$onlineip="58.244.35.16";
$onlineip0=strtoint($onlineip);
$x="您的IP段不在规定范围内!";
$ips=@file("ip.txt");//打开ip文件
$j=@count($ips);
for($i=0;$i<$j;$i++){
$starstr=@explode("-",$ips[$i]);
//if($starstr[0]<=$onlineip and $onlineip>=$starstr[1]){
$a=strtoint($starstr[0]);
$b=strtoint($starstr[1]);
//if (strcmp($onlineip,$a) >= 0 && strcmp($onlineip,$b) <= 0){
if ($onlineip0>=$a && $onlineip0<=$b){
$x="您的IP段在规定范围内!
".$starstr[0]."<=".$onlineip."<=".$starstr[1]."
";
break;
}
}
echo $x."
".$onlineip;
?>
国内的IP段 国内IP段 如何获取国内IP段然后做国内IP限制
生成屏蔽国家的IP地址的代码网站
http://www.blockacountry.com/
可以直接生成需要屏蔽IP的国家的IP地址段,直接加在上述代码中即可屏蔽该国家IP段访问网站!