>백엔드 개발 >PHP 튜토리얼 >PHP에서 실제 클라이언트의 실제 IP를 얻는 방법 소개

PHP에서 실제 클라이언트의 실제 IP를 얻는 방법 소개

高洛峰
高洛峰원래의
2017-03-22 17:19:411237검색

REMOTE_ADDR은 클라이언트가 서버와 "핸드셰이크"할 때의 IP입니다. "익명 프록시"가 사용되는 경우 REMOTE_ADDR은 프록시 서버의 IP를 표시합니다.

HTTP_CLIENT_IP는 프록시 서버가 보낸 HTTP 헤더입니다. "수퍼 익명 프록시"인 경우 없음 값이 반환됩니다. 마찬가지로 REMOTE_ADDR은 이 프록시 서버의 IP로 대체됩니다.

$_SERVER['REMOTE_ADDR']; //액세스 끝(사용자일 수도 있고 프록시일 수도 있음)

$_SERVER['HTTP_CLIENT_IP'] //프록시 끝(존재할 수 있음) 위조 가능)

$_SERVER['HTTP_X_FORWARDED_FOR'] //사용자가 프록시로 사용하고 있는 IP(존재할 수도 있고 위조할 수도 있음)

세 값의 차이점은 다음과 같습니다.

1. 프록시 서버를 사용하지 않는 경우:

REMOTE_ADDR = 사용자 IP

HTTP_VIA = 값이 없거나 표시되지 않음

HTTP_X_FORWARDED_FOR = 값이 없거나 표시되지 않음

2. 투명 프록시 서버를 사용하는 경우: 투명 프록시

REMOTE_ADDR = 마지막 프록시 서버 IP

HTTP_VIA = 프록시 서버 IP

HTTP_X_FORWARDED_FOR = 실제 IP입니다. 여러 프록시 서버를 통과할 때 이 값은 203.98.182.163, 203.98.182.163, 203.129.72.215와 유사합니다.

이 유형의 프록시 서버는 귀하가 방문하는 사람에게 귀하의 정보를 계속 전달하며 귀하의 실제 신원을 숨기는 목적을 달성할 수 없습니다.

3. 일반 익명 프록시 서버를 사용하는 상황: 익명 프록시

REMOTE_ADDR = 마지막 프록시 서버 IP

HTTP_VIA = 프록시 서버 IP

HTTP_X_FORWARDED_FOR = 프록시 서버 IP는 여러 프록시 서버를 통과할 때 이 값은 203.98.182.163, 203.98.182.163, 203.129.72.215와 유사합니다.

실제 IP를 숨기되 방문자에게 액세스하기 위해 프록시 서버를 사용하고 있다는 사실을 공개하세요.

4. 사기성 프록시 서버 사용: 프록시 왜곡

REMOTE_ADDR = 프록시 서버 IP

HTTP_VIA = 프록시 서버 IP

HTTP_X_FORWARDED_FOR = 임의 IP, 여러 프록시 서버를 통과할 때 이 값은 203.98.182.163, 203.98.182.163, 203.129.72.215와 유사합니다.

방문자에게 프록시 서버를 사용하고 있다고 알리고 실제 IP 대신 가짜 임의 IP를 만들어 속이세요.

5. 익명성이 높은 프록시 서버를 사용하는 경우: 높은 익명성 프록시(엘리트 프록시)

REMOTE_ADDR = 프록시 서버 IP

HTTP_VIA = 값이 없거나 표시되지 않음

HTTP_X_FORWARDED_FOR = 값이 없거나 표시되지 않습니다. 여러 프록시 서버를 통과할 때 값은 203.98.182.163, 203.98.182.163, 203.129.72.215와 유사합니다.

프록시 서버를 사용하여 객체에 직접 액세스하는 것처럼 모든 정보를 프록시 서버의 정보로 완전히 대체합니다.

아아아아

위 내용은 PHP에서 실제 클라이언트의 실제 IP를 얻는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.