How can PHP be used to differentiate between users accessing a website through a proxy server?

When users access a website through a proxy server, their IP address appears as the proxy server's IP address. To differentiate between users accessing the website through a proxy server, you can use the HTTP_X_FORWARDED_FOR header, which contains the original IP address of the user. By checking this header, you can determine if the user is accessing the website through a proxy server.

if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    // User is accessing the website through a proxy server
    $user_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    // User is accessing the website directly
    $user_ip = $_SERVER['REMOTE_ADDR'];
}

echo "User IP Address: " . $user_ip;