您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

判断用户ip是否在同一网段或同一局域网实例

2024/3/13 2:25:21发布19次查看
原理根据用户给出的ip,再获取当前ip然后转换成数字型的,根据ip,a,b,c类进行计算,根据进行对比就ok
代码如下 复制代码
$start =iptoint('192.168.1.110');
 $end = iptoint('192.168.0.1');
 $ipint = iptoint( get() );
 $result = false;
 if ($ipint>=$start && $ipint   $result = true;
 }
if( $result )
 {
  echo '在同一网段';
 }
 else
 {
  echo '不在同一网段';
 }
//不在同一网段
/*
  * ip转成整形数值
  * @param string $ip ip
  * @return int
  */
 代码如下 复制代码
 function iptoint($ip) {
  $ips教程 = explode('.',$ip);
  if (count($ips)>=4) {
   $int = $ips[0]*256*256*256+$ips[1]*256*256+$ips[2]*256+$ips[3];//根据ip,a,b,c类进行计算
  } else {
   throw new exception('ip is error');
  }
  return $int;
 }
/*
 * 获取用户ip地址 192.68.0.110
 */
代码如下 复制代码
 function get() {
  if ($_server['http_client_ip'] && $_server['http_client_ip']!='unknown') {
   $ip = $_server['http_client_ip'];
  } elseif ($_server['http_x_forwarded_for'] && $_server['http_x_forwarded_for']!='unknown') {
   $ip = $_server['http_x_forwarded_for'];
  } else {
   $ip = $_server['remote_addr'];
  }
  return $ip;
 }
 /*
本站原创转载注明来源www.111cn.net
 */
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product