Maison > développement back-end > tutoriel php > Comment obtenir l'adresse IP réelle du visiteur lors de l'utilisation de proxys ?

Comment obtenir l'adresse IP réelle du visiteur lors de l'utilisation de proxys ?

Barbara Streisand
Libérer: 2024-11-12 02:56:01
original
863 Les gens l'ont consulté

How to Get the Real Visitor IP Address When Using Proxies?

Comment récupérer l'adresse IP authentique du visiteur

Lors de la tentative d'obtention de l'adresse IP d'un visiteur à l'aide du code PHP par défaut , il se peut qu'il ne récupère pas l'adresse IP réelle lorsqu'un proxy est utilisé. Cet article vise à résoudre ce problème en fournissant une solution robuste.

Le code PHP fourni répond efficacement à ce défi :

<?PHP

function getUserIP()
{
    // Handle CloudFlare network's IP masking
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
              $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
              $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];

    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }

    return $ip;
}


$user_ip = getUserIP();

echo $user_ip; // Output IP address [Ex: 177.87.193.134]


?>
Copier après la connexion

Ce code vérifie méthodiquement l'adresse IP du visiteur à l'aide de divers en-têtes, en tenant compte de l'utilisation potentielle des proxys, y compris ceux employés par CloudFlare. Il filtre méticuleusement les adresses IP récupérées pour fournir la représentation la plus précise de la véritable adresse IP du visiteur.

En mettant en œuvre ce code, vous pouvez vous assurer que vous obtenez systématiquement les adresses IP authentiques de vos visiteurs, qu'ils soient ou non. utilisent ou non des proxys.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal