PHP

클라이언트 IP 얻는 함수, $_SYSTEM['REMOTE_ADDR'] 안될때

씨엔아이소프트 2024. 9. 27. 17:54
반응형

function get_client_ip() {
    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        // X-Forwarded-For 헤더가 있는 경우
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } elseif (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        // HTTP_CLIENT_IP 헤더가 있는 경우
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else {
        // 기본적으로 REMOTE_ADDR 값 사용
        $ip = $_SERVER['REMOTE_ADDR'];
    }

    // 여러 IP가 콤마로 구분되어 있을 경우 첫 번째 IP를 가져옴
    $ip = explode(',', $ip)[0];
    
    return trim($ip);
}

echo get_client_ip();

반응형