>  기사  >  백엔드 개발  >  PHP에서 CloudFlare를 사용할 때 실제 방문자 IP 주소를 얻는 방법은 무엇입니까?

PHP에서 CloudFlare를 사용할 때 실제 방문자 IP 주소를 얻는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-25 03:40:02675검색

How to Get the Real Visitor IP Address When Using CloudFlare in PHP?

PHP에서 CloudFlare를 사용하여 방문자 IP 주소 검색

IP 주소를 통해 사용자 활동을 추적하는 것은 웹 개발에서 일반적인 관행입니다. 그러나 캐싱 및 기타 서비스에 CloudFlare를 사용하는 경우 PHP의 $_SERVER['REMOTE_ADDR']을 통해 기록된 IP 주소는 방문자의 실제 신원을 정확하게 반영하지 못할 수 있습니다. 108.162.212. ~ 108.162.239. 범위 내의 CloudFlare IP 주소는 실제 방문자의 IP 주소를 마스킹합니다.

이 문제를 해결하기 위해 CloudFlare는 연결을 식별하기 위한 몇 가지 추가 서버 변수를 제공합니다. 방문자의 IP 주소:

  • $_SERVER["HTTP_CF_CONNECTING_IP"]: 이 변수에는 방문자의 IP 주소가 포함되어 있어 정확한 IP 주소 로깅이 가능합니다.
  • $_SERVER["HTTP_CF_IPCOUNTRY "]: 방문자의 국가를 제공합니다.
  • $_SERVER["HTTP_CF_RAY"]: 각 요청에 대한 고유 식별자입니다.
  • $_SERVER["HTTP_CF_VISITOR"]: 요청은 HTTP 또는 HTTPS를 통해 이루어집니다.

CloudFlare를 사용하는 동안 실제 방문자의 IP 주소를 검색하려면 다음 코드를 활용할 수 있습니다.

<code class="php">if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}</code>

$_SERVER[' REMOTE_ADDR'] 값을 $_SERVER["HTTP_CF_CONNECTING_IP"] 값으로 변경하면 IP 주소 로그가 웹사이트 방문자를 올바르게 식별하는지 확인할 수 있습니다.

방문 IP 주소의 유효성에는 여전히 확인이 필요할 수 있습니다. 누구나 잠재적으로 헤더 정보를 스푸핑할 수 있습니다.

위 내용은 PHP에서 CloudFlare를 사용할 때 실제 방문자 IP 주소를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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