public function GetIPaddress()
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $_SERVER['REMOTE_ADDR'];
}
우선, 서버의 전송 헤더에 HTTP_X_FORWARDED_FOR 가 있는지 검사합니다. 이 헤더는 웹 프록시나 로드 밸런서를 거쳐서 전송된 요청인 경우에 사용됩니다.
이 경우 $_SERVER['REMOTE_ADDR'] 변수에 웹 프록시나 로드 밸런서의 IP 주소가 저장됩니다.
그렇지 않은 경우, $_SERVER['REMOTE_ADDR'] 변수에는 사용자의 IP 주소가 저장됩니다.
이 변수에 저장된 값을 그대로 반환하면 사용자의 IP 주소를 얻을 수 있습니다.