用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

原理根据用户给出的ip,再获取当前IP然后转换成数字型的,根据IP,a,b,c类进行计算,根据进行对比就OK,代码如下:

  1. $start =ipToInt('192.168.1.110'); 
  2.  $end = ipToInt('192.168.0.1'); 
  3.  $ipInt = ipToInt( get() ); 
  4.  $result = false; 
  5.  if ($ipInt>=$start && $ipInt<=$end) { 
  6.    $result = true; 
  7.  } 
  8.  
  9.  if$result ) 
  10.  { 
  11.   echo '在同一网段'
  12.  } 
  13.  else 
  14.  {//开源代码phpfensi.com 
  15.   echo '不在同一网段'
  16.  }  
  17.  
  18.  
  19.  //不在同一网段 
  20.  
  21.  /* 
  22.   * IP转成整形数值 
  23.   * @param string $ip IP 
  24.   * @return int 
  25.   */ 
  26.  
  27.  function ipToInt($ip) { 
  28.   $ips教程 = explode('.',$ip); 
  29.   if (count($ips)>=4) { 
  30.    $int = $ips[0]*256*256*256+$ips[1]*256*256+$ips[2]*256+$ips[3];//根据IP,a,b,c类进行计算 
  31.   } else { 
  32.    throw new Exception('ip is error'); 
  33.   } 
  34.   return $int
  35.  }  
  36.  
  37.  
  38.  /* 
  39.  * 获取用户IP地址 192.68.0.110 
  40.  */ 
  41.  
  42.  function get() { 
  43.   if ($_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') { 
  44.    $ip = $_SERVER['HTTP_CLIENT_IP']; 
  45.   } elseif ($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') { 
  46.    $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
  47.   } else { 
  48.    $ip = $_SERVER['REMOTE_ADDR']; 
  49.   } 
  50.   return $ip
  51.  } 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门