PHP: IP-Adresse eines Besuchers ermitteln

Es scheint ganz einfach zu sein: Mit welcher IP-Adresse jemand arbeitet, bekommt man über den Ausdruck $_SERVER[‘REMOTE_ADDR’] heraus.

Das stimmt meistens – aber eben nicht immer. Verwendet der Besucher einen Proxy-Server, dann liefert diese Systemvariable die IP-Adresse des Servers. In diesem Fall sendet der Proxy-Server allerdings auch die Adresse des Benutzer-Computers mit. Sie ist dann in der Variablen $_SERVER[‘HTTP_X_FORWARDED_FOR’] abzulesen.

Um die IP-Adresse zu ermitteln, könnte man beispielsweise untenstehenden Code verwenden.

Aber Achtung: Um den Benutzer eindeutig zu identifizieren, eignet sich die IP-Adresse prinzipiell nicht. Denn wenn mehrere Benutzer beispielsweise über einen DSL-Router auf Ihre Webseite zugreifen, erscheinen sie beide mit der Adresse, die der Internet-Provider dem Router bei der Einwahl gibt. Im Fall der Proxy-Benutzung wird obiger Code private Adressen ermitteln, also etwa der Form 192.168.x.x. Nachdem zwei ganz verschiedene Besucher in verschiedenen LANs dieselbe private IP-Adresse haben können, ist auch in diesem Fall eine Verwechslung nicht ausgeschlossen. 

if (! isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {

$client_ip = $_SERVER['REMOTE_ADDR'];

}

else {

$client_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

}

 

Ähnliche Beiträge