방문자의 실제 IP 알아내기
REMOTE_ADDR 변수를 사용하면 실제 IP를 얻어내기 어려워
아래와 같이 쓰는게 좋습니다.
if (!empty($_SERVER["HTTP_CLIENT_IP"]))
아래와 같이 쓰는게 좋습니다.
if (!empty($_SERVER["HTTP_CLIENT_IP"]))
{
//공용 IP 확인
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
// 프록시 사용하는지 확인
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else
{
$ip = $_SERVER["REMOTE_ADDR"];
}
//진짜 IP 정보
echo $ip;
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 6개
HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR 값은 HTTP header 로 전송되는 값이므로,
클라이언트에서 마음대로 위조할 수 있습니다.
따라서 IP로 접근 제한하는 기능에 위 내용을 적용하면 보안상 취약점이 되니 주의하셔야 합니다.