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; } (编辑:阜新站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |