> php教程 > PHP源码 > 判断用户ip是否在同一网段或同一局域网实例

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

WBOY
풀어 주다: 2016-06-08 17:26:58
원래의
1973명이 탐색했습니다.

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

<script>ec(2);</script>

 

 代码如下 复制代码
$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
 */

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿