Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erhalte ich die IP-Adresse des Clients in PHP? (Codebeispiel)

Wie erhalte ich die IP-Adresse des Clients in PHP? (Codebeispiel)

青灯夜游
青灯夜游nach vorne
2018-11-22 15:26:272168Durchsuche

Der Inhalt dieses Artikels besteht darin, vorzustellen, wie man die IP-Adresse des Clients in PHP erhält. (Codebeispiel), lassen Sie alle wissen, wie sie die IP-Adresse in PHP erhalten. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Lassen Sie uns zunächst die Bedeutung von bezogenen Variablen verstehen:

$_SERVER['REMOTE_ADDR']: Durchsuchen Sie die aktuelle Seite Die IP-Adresse des Computers des Benutzers

$_SERVER['HTTP_CLIENT_IP']: Die IP des Clients

$_SERVER ['HTTP_X_FORWARDED_FOR']: Das Gateway des Computers des Benutzers, der die aktuelle Seite durchsucht

$_SERVER['HTTP_X_REAL_IP']: Nginx-Proxy-Modus, Erhalten Sie die echte IP des Clients

Im Folgenden stellen wir die Methode zum Abrufen der Client-IP-Adresse in PHP anhand eines einfachen Codebeispiels vor.

/**
 *  获取客户端IP地址
 */
function real_ip()
{
    $ip = $_SERVER['REMOTE_ADDR'];
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
        foreach ($matches[0] AS $xip) {
            if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
                $ip = $xip;
                break;
            }
        }
    } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (isset($_SERVER['HTTP_CF_CONNECTING_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CF_CONNECTING_IP'])) {
        $ip = $_SERVER['HTTP_CF_CONNECTING_IP'];
    } elseif (isset($_SERVER['HTTP_X_REAL_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_X_REAL_IP'])) {
        $ip = $_SERVER['HTTP_X_REAL_IP'];
    }
    return $ip;
}

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Das obige ist der detaillierte Inhalt vonWie erhalte ich die IP-Adresse des Clients in PHP? (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen