Home
PHP
PHP Client IP 주소 조회하기
devfoxstar
devfoxstar
March 08, 2023
1 min

PHP에서 Client IP 주소를 조회하는 방법을 정리합니다.
보통은 아래 명령어로 간단하게 조회가 가능합니다.

$ip = $_SERVER["REMOTE_ADDR"];

하지만 해당 명령어는 네트워크 상황에 따라 부정확한 경우가 많습니다.
프록시 서버나 게이트웨이 등 주로 경유를 하는 경우 문제가 됩니다.

그래서 좀 더 세밀한 체크가 필요합니다.
물론 아래 명령어도 조금 더 정확할 뿐이지 완벽하지는 않습니다.

if($_SERVER["HTTP_CLIENT_IP"]) {
    $ip = $_SERVER["HTTP_CLIENT_IP"];
} else if($_SERVER["HTTP_X_FORWARDED_FOR"]) {
    $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if($_SERVER["HTTP_X_FORWARDED"]) {
    $ip = $_SERVER["HTTP_X_FORWARDED"];
} else if($_SERVER["HTTP_FORWARDED_FOR"]) {
    $ip = $_SERVER["HTTP_FORWARDED_FOR"];
} else if($_SERVER["HTTP_FORWARDED"]) {
    $ip = $_SERVER["HTTP_FORWARDED"];
} else if($_SERVER["REMOTE_ADDR"]) {
    $ip = $_SERVER["REMOTE_ADDR"];
} else {
    $ip = "UNKNOWN";
}

참고로 $_SERVER 변수는 웹서버에서 조회하는 값입니다.
PHP 환경 변수로 조회하려면, getenv()를 활용하면 됩니다.

둘 다 속성값이나 결과값은 동일합니다.

$ip = $_SERVER["REMOTE_ADDR"];

$ip = getenv("REMOTE_ADDR");

Tags

#PHP#IP

Related Posts

웹개발 언어와 개발자 커리어 (Java, ASP.NET, PHP)
October 21, 2021
2 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media