PHP獲取客戶端IP

// 獲取客戶端IP地址 
function get_client_ip() { 
    static $ip = NULL; 
    if ($ip !== NULL) return $ip; 
    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']; 
    } 
    // IP地址合法驗證 
    $ip = (false !== ip2long($ip)) ? $ip : '0.0.0.0'; 
    return $ip; 

 

摘自 lpdx111的專欄

You May Also Like