加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜新站长网 (https://www.0418zz.cn/)- 基础存储、数据处理、视频终端、内容创作、网络安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-06-17 09:14:41 所属栏目:PHP教程 来源:互联网
导读:原理根据用户给出的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=$end) {
  原理根据用户给出的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<=$end) {
     $result = true;
   }
   
   if( $result )
   {
    echo '在同一网段';
   }
   else
   {//开源代码phpfensi.com
    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;
   }
 

(编辑:阜新站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读