25.4. Wie kann ich die IP des Users erfahren?Antwort von Johannes FrömterIn der Umgebungs-Variablen REMOTE_ADDR steht die IP-Adresse des Rechners, der die Anfrage sendet. Dies ist nicht zwangsläufig der Rechner, an dem der User sitzt - es kann genausogut ein Proxy sein. Wenn der Benutzer in einer Firma mit mehr als 2-3 PCs sitzt, ist letzteres sogar sehr wahrscheinlich, aber es kann auch bei ganz normalen Provider-Endkunden so sein. Folgendes Skript verwendet die Umgebungs-Variable REMOTE_ADDR und versucht, den Hostnamen zur IP mit der Funktion gethostbyaddr() zu ermitteln (sog. reverse lookup). <?php // IP bestimmen $ip = getenv('REMOTE_ADDR'); // IP auflösen und Host bestimmen $host = gethostbyaddr($ip); ?> Kommt die Verbindung über einen Proxy zustande, kann es sein, dass dieser die IP "seines" Clients im HTTP-Header weitergibt. Der verbreitete Proxy squid beispielsweise nennt diesen Header X-Forwarded-For, dessen Inhalt dann (wie andere HTTP-Header auch) in einer Umgebungsvariablen zur Verfügung gestellt wird (HTTP_X_FORWARDED_FOR). |
||
25.4. Wie kann ich die IP des Users erfahren? http://www.php-faq.de/q/q-code-ip.html |
||
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team |