VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php判断用户ip是否在同一网段或同一局域网实例

原理根据用户给出的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.  } 
  52.  

出处:http://www.phpfensi.com/php/20140818/4388.html


相关教程