Heim > Backend-Entwicklung > PHP-Tutorial > Wie identifiziere ich die wahre IP-Adresse hinter Proxyservern?

Wie identifiziere ich die wahre IP-Adresse hinter Proxyservern?

Patricia Arquette
Freigeben: 2024-11-05 03:18:02
Original
380 Leute haben es durchsucht

How to Identify the True IP Address Behind Proxy Servers?

Identifizierung der wahren IP-Adresse hinter Proxyservern

Abrufen der IP-Adresse eines Besuchers mit Standard-PHP-Methoden wie $_SERVER['REMOTE_ADDR'] liefert möglicherweise keine genauen Informationen, wenn der Besucher über einen Proxyserver auf Ihre Website zugreift.

Um dieses Problem zu beheben, sollten Sie den folgenden PHP-Code verwenden:

<code class="php">function getUserIP()
{
    // Obtain the IP address of the visitor behind CloudFlare
    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'];

    $ip = null;

    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]</code>
Nach dem Login kopieren

Diese Funktion prüft zunächst, ob die Besucher nutzt CloudFlare, einen beliebten Proxy-Dienst. Wenn ja, ruft es die echte IP-Adresse mithilfe des HTTP_CF_CONNECTING_IP-Headers ab.

Als nächstes werden drei potenzielle IP-Quellen berücksichtigt: HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR und REMOTE_ADDR. Es validiert jede IP-Adresse und wählt die zuverlässigste aus.

Mit diesem Ansatz können Sie effektiv die tatsächliche IP-Adresse Ihrer Besucher ermitteln, selbst wenn diese sich hinter Proxyservern befinden.

Das obige ist der detaillierte Inhalt vonWie identifiziere ich die wahre IP-Adresse hinter Proxyservern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage