IP-Adresse des Clients in PHP abrufen
PHPs $_SERVER Superglobal bietet eine Methode zum Abrufen der IP-Adresse von Website-Besuchern. Bei Verwendung des herkömmlichen $_SERVER['REMOTE_ADDR']-Ansatzes können jedoch falsche IP-Adressen zurückgegeben werden. Diese Diskrepanz kann auf mehrere Faktoren zurückgeführt werden, darunter Proxyserver und Load Balancer.
Um eine genaue IP-Adresse zu erhalten, ziehen Sie alternative Servervariablen in Betracht. Die folgenden beiden Funktionen sind austauschbar und zeigen, wie das geht:
Verwenden von getenv():
function get_client_ip() { $ipaddress = ''; if (getenv('HTTP_CLIENT_IP')) $ipaddress = getenv('HTTP_CLIENT_IP'); else if(getenv('HTTP_X_FORWARDED_FOR')) $ipaddress = getenv('HTTP_X_FORWARDED_FOR'); else if(getenv('HTTP_X_FORWARDED')) $ipaddress = getenv('HTTP_X_FORWARDED'); else if(getenv('HTTP_FORWARDED_FOR')) $ipaddress = getenv('HTTP_FORWARDED_FOR'); else if(getenv('HTTP_FORWARDED')) $ipaddress = getenv('HTTP_FORWARDED'); else if(getenv('REMOTE_ADDR')) $ipaddress = getenv('REMOTE_ADDR'); else $ipaddress = 'UNKNOWN'; return $ipaddress; }
Verwenden von $_SERVER:
function get_client_ip() { $ipaddress = ''; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipaddress = $_SERVER['HTTP_CLIENT_IP']; else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_X_FORWARDED'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED']; else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_FORWARDED'])) $ipaddress = $_SERVER['HTTP_FORWARDED']; else if(isset($_SERVER['REMOTE_ADDR'])) $ipaddress = $_SERVER['REMOTE_ADDR']; else $ipaddress = 'UNKNOWN'; return $ipaddress; }
Diese Funktionen priorisieren die zuverlässigste IP-Adressoption, die in den Servervariablen verfügbar ist, und stellen so eine genaue Darstellung sicher die IP-Adresse des Clients.
Das obige ist der detaillierte Inhalt vonWie kann ich die IP-Adresse eines Clients in PHP zuverlässig abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!