找回密码
 新建账号

[PHP] PHP检测内网IP

[复制链接]
php 发表于 2015/8/7 15:28 | 显示全部楼层 |阅读模式
用PHP判断一个IP是否是内网IP。
  1. <?php
  2.         /*
  3.          * PHP 判断是否内网访问
  4.          * By Wuxiancheng.cn
  5.          * @param $ip 待检查的IP
  6.          * @return boolean
  7.         */
  8.         function isLocal($ip){
  9.                 $long=ip2long($ip);
  10.                 $data=array(
  11.                         24=>'10.255.255.255',
  12.                         20=>'172.31.255.255',
  13.                         16=>'192.168.255.255'
  14.                 );
  15.                 foreach($data as $k=>$v){
  16.                         if($long >> $k === ip2long($v)>>$k){
  17.                                 return true;
  18.                         }
  19.                 }
  20.                 return false;
  21.         }
复制代码
PHP判断是否内IP访问 方法二
  1. <?php
  2.         /*
  3.          * PHP 判断是否内网访问
  4.          * @param $ip 待检查的IP
  5.         */
  6.         function isLocal($ip){        
  7.                 return preg_match('%^127\.|10\.|192\.168|172\.(1[6-9]|2|3[01])%',$ip);
  8.         }
复制代码

手机版|轻松E站

GMT+8, 2024/12/22 01:13

快速回复 返回顶部 返回列表