Comment obtenir l'adresse IP réelle du visiteur lorsque des proxys sont utilisés ?

Barbara Streisand
Libérer: 2024-11-04 13:39:01
original
785 Les gens l'ont consulté

How to Get the Real Visitor IP Address When Proxies Are in Use?

Récupération de l'adresse IP réelle du visiteur malgré l'utilisation d'un proxy

Le code PHP couramment utilisé pour obtenir l'adresse IP d'un visiteur est :

<code class="php"><?php echo $_SERVER['REMOTE_ADDR']; ?></code>
Copier après la connexion

Cependant, cette méthode ne parvient pas à capturer la véritable adresse IP lorsque des proxys sont en jeu. À la recherche d'une solution à ce problème, examinons une approche alternative.

Fonction PHP personnalisée pour la détermination IP

Le code PHP fourni offre une solution complète, prenant en compte les connexions CloudFlare et divers autres facteurs :

<code class="php">function getUserIP()
{
    // Handle CloudFlare connections
    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();</code>
Copier après la connexion

Ce code attribue l'adresse IP à la variable $user_ip, qui peut ensuite être utilisée selon les besoins dans votre script PHP.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!