"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > How can I retrieve actual visitor IP addresses when using Cloudflare in PHP?

How can I retrieve actual visitor IP addresses when using Cloudflare in PHP?

Published on 2024-11-08
Browse:945

How can I retrieve actual visitor IP addresses when using Cloudflare in PHP?

Retrieving Visitor IP Addresses with Cloudflare in PHP

When tracking visitors to a website, logging their IP addresses is a common practice. However, utilizing Cloudflare for caching can introduce an issue, as the IP addresses returned may be those of Cloudflare's servers. This article explores a method to retrieve the actual visitor IP addresses while utilizing Cloudflare.

Cloudflare provides additional server variables that can aid in IP address retrieval:

  • $_SERVER["HTTP_CF_CONNECTING_IP"]: The real visitor IP address
  • $_SERVER["HTTP_CF_IPCOUNTRY"]: The visitor's country
  • $_SERVER["HTTP_CF_RAY"]
  • $_SERVER["HTTP_CF_VISITOR"]: Indicates whether the connection is via HTTP or HTTPS

To use these variables, implement the following code:

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}

This code updates the $_SERVER['REMOTE_ADDR'] variable with the actual visitor IP address, if it is available through Cloudflare's headers.

It is important to note that if the validity of the IP address is crucial, verifying that the $_SERVER["REMOTE_ADDR"] value represents a valid Cloudflare IP address may be necessary. This is because malicious actors could potentially manipulate the header to connect directly to the server IP.

Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3