Proxy를 경유할때 클라이언트의 Real IP 확인
조회수 5989 답변수 1 반응수 1 등록일 2016.05.05 01:40:39

안녕하세요

클라이언트들의 IP를 얻기 위해  $_SERVER 함수 중 REMOTE_ADDR를 사용하고 있습니다.

  1. <?=$_SERVER['REMOTE_ADDR'];?>

일반적인 네트워크 환경에서는 위의 REMOTE_ADDR를 사용해서 IP를 가져왔었는데

Proxy 를 경유하는 환경에서는 클라이언트의 Real IP가 아닌 Proxy의 IP를 가져오네요.


Proxy 환경에서도 Real IP를 가져오는 방법이 있을까요?

$_SERVER 함수 중 HTTP_X_FORWARDED_FOR 사용하시면 됩니다.

  1. <?=$_SERVER['HTTP_X_FORWARDED_FOR']?>

단, Proxy 환경이 아니면 IP를 가져오지 못하기 때문에

적절히 조건문을 사용하시면 되겠습니다.


감사합니다.


2016.05.09 01:24:39 반응 이력
오 ~ 이런게 있었네요 smilee.him 2016.05.20 17:27:03
답변 감사합니다!! bryan 2016.05.12 10:02:47
콤마를 구분자로 client IP, proxy IP 가 들어오게 됩니다. 첫번째 IP가 사용자 IP입니다. https://www.lesstif.com/pages/viewpage.action?pageId=20775886 여기도 참고 한번 해보세요~ Symfony 2016.05.12 02:00:25
HTTP_X_FORWARDED_FOR 사용시 IP가 복수로 넘어오는 경우가 있는데, 어떤게 사용자 IP 인가요? bryan 2016.05.10 14:30:37

답변 작성

질문에 적합한 답변을 상세히 작성해 주시기 바랍니다.

답변이 찬성되면 태그평판 +2점이 적립, 반대되면 태그평판 -1점 차감됩니다.

답변이 채택되면 태그평판 +10점이 적립됩니다.

PHP 게시판 정보
  • 34
    질문수
  • 9
    아카이브수
  • 28
    채택수
  • 2
    멤버수
PHP 질문 통계
최근 30일
답변율
0%
채택율
0%
전체
답변율
85%
채택율
82%
최근에 등록된 질문