GW LABS

PHP 클라이언트 IP 알아내기 본문

Programming/Php

PHP 클라이언트 IP 알아내기

GeonWoo Kim 2019. 12. 10. 09:58

PHP를 사용하는 서버에 접속자 IP를 알아내는 방법은 $_SERVER에 있는 IP 정보를 활용하는 것이다. 문제는 서버에 L4나 방화벽같은 장비가 붙어있을 경우 $_SERVER["HTTP_CLIENT_IP"]로 접속자의 IP를 알아낼 수 없을 경우가 있다. 이런 경우를 대비해서 PHP $_SERVER 변수의 다른 IP 정보들을 활용하면 접속자 IP 정보를 알아낼 수 있다.

 

function get_client_ip_server() {
    $ipaddress = '';
    if ($_SERVER['HTTP_CLIENT_IP']){
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    } 
    else if($_SERVER['HTTP_X_FORWARDED_FOR']) {
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } 
    else if($_SERVER['HTTP_X_FORWARDED']) {
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    }
    else if($_SERVER['HTTP_FORWARDED_FOR']) {
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    } 
    else if($_SERVER['HTTP_FORWARDED']) {
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    } 
    else if($_SERVER['REMOTE_ADDR']) {
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    } 
    else {
        $ipaddress = 'UNKNOWN';
    }
    
    return $ipaddress;
}

 

 

'Programming > Php' 카테고리의 다른 글

file_get_contents POST 전송 보내기  (0) 2021.01.16
Comments