일반적으로 클라이언트의 IP 주소를 알아내기 위해 PHP에서 $_SERVER['REMOTE_ADDR']을 사용하는 경우가 대부분이다. 하지만 클라이언트가 프록시 서버를 통해 접속하는 경우 이 값은 클라이언트의 IP 주소를 넘겨주지 않고 단지 프록시 서버의 IP 주소를 넘겨준다.
따라서 정확한 클라이언트의 IP 주소를 알아내기 위해서는 별도의 함수가 필요하다.

클라이언트의 IP 주소를 저장하기 위해 PHP에는 HTTP_CLIENT_IP와 HTTP_X_FORWARDED_FOR 라는 추가적인 서버변수가 있다. 이들을 이용하여 다음과 같은 함수를 만들어 사용하면 실제 클라이언트 IP 주소를 알 수 있다.



참고. 테스트 결과 일부 프록시의 경우는 안되는 경우도 있음

원문 : http://roshanbh.com.np/2007/12/getting- ··· php.html (새 창으로 열기)
- 위 본문은 원문을 의역한 것입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/11/24 19:45 2008/11/24 19:45

트랙백 보낼 주소 :: http://www.i-fam.net/water/trackback/123

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2010/09/11 19:51
    댓글 주소 수정/삭제 댓글
    감사합니다.
  2. 개발
    2013/01/08 02:25
    댓글 주소 수정/삭제 댓글
    일부가 아니라 대부분 안된다네.....
  3. 짬굉이
    2013/04/22 13:53
    댓글 주소 수정/삭제 댓글
    감사합니다 :)
  4. 나그네
    2015/07/11 07:35
    댓글 주소 수정/삭제 댓글
    프록시 서버에서 Anonymity 기능을 켰을 경우에는 포워드 아이피 헤더가 기록되지 않기 때문에 의미 없는거죠. 일반 프록시에서는 될거예요.
[로그인][오픈아이디란?]

BLOG main image
새미 기픈 믈은 가마래 아니그츨씌.. by

카테고리

전체 (74)
궁시렁 (15)
(3)
(37)
GIS (7)
GeoTagging (8)
테터 & 텍스트큐브 (0)
바로 그때.. (3)
검색/링크 (0)

최근에 올라온 글

Total : 386735
Today : 101 Yesterday : 121
Download MathPlayer글 내용중의 수식을 보시려면 ^^
Creative Commons License

이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
자신만의 홈페이지를 만들어 올릴 공간을 갖고 싶다면,
한달에 오백원만 투자하세요