static public function checkClientIp(array $allowed_ips = [])
    {
        array_unshift($allowed_ips, '127.0.0.1');
        $ip = static::getClientIp(); 
        $check_ip_arr= explode('.',$ip);    //要检测的ip拆分成数组
        
        if(!in_array($ip, $allowed_ips)) {
            foreach ($allowed_ips as $val) {
                if(strpos($val,'*')!==false){//发现有*号替代符
                    $arr = explode('.', $val);
                    $bl = true;//用于记录循环检测中是否有匹配成功的
                    for($i=0;$i<4;$i++){
                        if($arr[$i]!='*'){//不等于*  就要进来检测，如果为*符号替代符就不检查
                            if($arr[$i]!=$check_ip_arr[$i]){
                                $bl=false;
                                break;//终止检查本个ip 继续检查下一个ip
                            }
                        }
                    }//end for
                    if($bl){//如果是true则找到有一个匹配成功的就返回
                        return true;
                    }
                }
            }
            
            return false;
        }
        
        return true;
    }
static public function checkClientIp(array $allowed_ips = [])
    {
        array_unshift($allowed_ips, '127.0.0.1');
        $ip = static::getClientIp(); 
        $check_ip_arr= explode('.',$ip);    //要检测的ip拆分成数组
        
        if(!in_array($ip, $allowed_ips)) {
            foreach ($allowed_ips as $val) {
                if(strpos($val,'*')!==false){//发现有*号替代符
                    $arr = explode('.', $val);
                    $bl = true;//用于记录循环检测中是否有匹配成功的
                    for($i=0;$i<4;$i++){
                        if($arr[$i]!='*'){//不等于*  就要进来检测，如果为*符号替代符就不检查
                            if($arr[$i]!=$check_ip_arr[$i]){
                                $bl=false;
                                break;//终止检查本个ip 继续检查下一个ip
                            }
                        }
                    }//end for
                    if($bl){//如果是true则找到有一个匹配成功的就返回
                        return true;
                    }
                }
            }
            
            return false;
        }
        
        return true;
    }
static public function checkClientIp ( array $ allowed_ips = [ ] ) { array_unshift ( $ allowed_ips , '127.0.0.1' ) ; $ ip = static :: getClientIp ( ) ; $ check_ip_arr = explode ( '.' , $ ip ) ; //要检测的ip拆分成数组 if ( ! in_array ( $ ip , $ allowed_ips ) ) { foreach ( $ allowed_ips as $ val ) { if ( strpos ( $ val , '*' ) !== false ) { //发现有*号替代符 $ arr = explode ( '.' , $ val ) ; $ bl = true ; //用于记录循环检测中是否有匹配成功的 for ( $ i = 0 ; $ i < 4 ; $ i ++ ) { if ( $ arr [ $ i ] != '*' ) { //不等于*  就要进来检测，如果为*符号替代符就不检查 if ( $ arr [ $ i ] != $ check_ip_arr [ $ i ] ) { $ bl = false ; break ; //终止检查本个ip 继续检查下一个ip } } } //end for if ( $ bl ) { //如果是true则找到有一个匹配成功的就返回 return true ; } } } return false ; } return true ; }
check client ip is legal.
@param  array   $allowed_ips
@return boolean
check client ip is legal .