获取真实IP

/**  
     * ---------------------------------------------------------------------
     * 获取真实IP  
     * @param int $type  
     * @param bool $client  
     * ---------------------------------------------------------------------
     */  
    function get_client_ip($type = 0,$client=true){  
        $type       =  $type ? 1 : 0;  
        static $ip  =   NULL;  
        if ($ip !== NULL) return $ip[$type];  
        if($client){  
            if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {  
                $arr    =   explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);  
                $pos    =   array_search('unknown',$arr);  
                if(false !== $pos) unset($arr[$pos]);  
                $ip     =   trim($arr[0]);  
            }elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {  
                $ip     =   $_SERVER['HTTP_CLIENT_IP'];  
            }elseif (isset($_SERVER['REMOTE_ADDR'])) {  
                $ip     =   $_SERVER['REMOTE_ADDR'];  
            }  
        }elseif (isset($_SERVER['REMOTE_ADDR'])) {  
            $ip     =   $_SERVER['REMOTE_ADDR'];  
        }  
        // 防止IP伪造  
        $long = sprintf("%u",ip2long($ip));  
        $ip   = $long ? array($ip, $long) : array('0.0.0.0', 0);  
        return $ip[$type];  
    }

 

posted on 2019-06-21 10:12  夏沫忆香  阅读(302)  评论(0编辑  收藏  举报