PHP 사용자 IP 알아내기

How do I find a user's IP address with PHP?
PHP 사용자 IP 확인
PHP 사용자 IP 알아내기

1 기본: 프록시 없는 경우[ | ]

echo $_SERVER['REMOTE_ADDR'];

2 프록시 있는 경우[ | ]

관련 변수
$_SERVER['X_REAL_IP'] 비표준. Nginx 모듈 등에서 제공하는 기능. HTTP_X_FORWARDED_FOR를 탐색하여 공인IP로 추정되는 것을 찾아준다.
$_SERVER['REMOTE_ADDR'] 표준. 최근 프록시로 돌아가는 IP
$_SERVER['HTTP_X_FORWARDED_FOR'] 표준. 프록시의 의해 포워딩된 이력(IP 배열 문자열)
  • HTTP_X_FORWARDED_FOR는 HTTP 헤더일 뿐이므로 클라이언트 쪽에서 임의의 내용이 추가될 수 있다.
  • HTTP_X_FORWARDED_FOR에서 신뢰할 수 있는 서버 측 프록시 IP(또는 IP 대역)을 하나씩 제거하면서 추적하다 보면 나오는 공인 IP를 사용자 IP라고 보는 것이 가장 바람직하다.

3 같이 보기[ | ]

4 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}