例子,php限制IP地址段的访问。
 
<?php 
$userip = $_SERVER['REMOTE_ADDR']; //获得用户ip 
$userips = explode(".", $userip);//把获得的ip切开成数组
if(($userips[0]<=195 && $userips[0]>=195)&&($userips[1]<=163 && $userips[1]>=163)&&($userips[2]<=079 && $userips[2]>=072)&&($userips[3]<=255 && $userips[3]>=000)){
echo "您的ip不符!"; 
exit; 
}else{
echo "通过验证!";
}
?>
 
思路分析:
获得用户的IP 用"."分割成数组,再将 限制IP断 分别用"."分割成数组。
然后,判断用户IP是否在这个IP断内(分别判断四个元素是否在这个范围里)。
从而实现IP段限制访问的目的。
另外一个php实现的IP访问限制的代码。
 
<?php 
class IP{ //获取客户IP地址 
function getIpAdr(&$ ip){ 
$ ip1=getenv("HTTP_X_FORWARDED_FOR"); 
$ ip2=getenv("HTTP_CLIENT_IP"); 
$ ip3=getenv("REMOTE_ADDR"); 
if($ ip1&&$ ip1!='unknow') 
$ ip=$ ip1; 
else if($ ip2&&$ ip2!='unknow') 
$ ip=$ ip2; 
else if($ ip3&&$ ip3!='unknow') 
$ ip=$ ip3; 
else 
$ ip='127.0.0.1'; 
} 
} 
function get_netip($ myip){ //只留客户IP地址的前三位 
$ temp=explode(".",$ myip); 
$ netip.=$ temp[0]; 
$ netip.="."; 
$ netip.=$ temp[1]; 
$ netip.="."; 
$ netip.=$ temp[2]; 
return $ netip; 
} 
$ filename="test.ini"; //定义操作文件 
$ ip_lib=file($ filename); //读取文件数据到数组中 
$ allow=0; 
$ IP=new IP; 
$ thisip=""; 
$ IP->getIpAdr(&$ thisip); 
$ thenetip=get_netip($ thisip);
for($ i=0;$ i<count($ ip_lib);$ i++){ 
if(ereg($ thenetip,$ ip_lib[$ i])){ 
$ allow=1; 
break; 
} 
}
if ($ allow==1) 
{ 
echo "验证通过"; 
} 
else { 
echo "<script>location.href='Error.php';</script>"; 
}
?>