Sven Rautenberg: IP-Adresse anzeigen

Beitrag lesen

Moin!

In diesem Fall ist es sehr gut moeglich, dass statt der IP-Adresse, die der Provider dem User zugewiesen hat (und die Du wahrscheinlich ermitteln willst), eine IP-Adresse aus dem "privaten", reservierten IP-Adress-Bereich in $_SERVER['REMOTE_ADDR'] steht - oder eben die des Proxies.

Nein, das ist absolut unmöglich. In REMOTE_ADDR steht _immer_ die IP-Adresse des anfragenden Internet-Gerätes drin, an die auch die Antwort geschickt werden muß. Das ist, wenn Proxies oder Gateways eingesetzt werden, eben deren Adresse.

Die Möglichkeit besteht, dass im HTTP_X_FORWARDED_FOR eine Information über den "richtigen" Empfänger der Daten steht. Dies _kann_ durchaus auch eine IP aus dem privaten Bereich sein, auf die man im Internet keinerlei direkten Zugriff hat (und die deshalb verhältnismäßig wenig bringt).

Schau Dir dazu mal an, wie die Leute von php.net das loesen: http://cvs.php.net/co.php/phpweb/include/ip-to-country.inc?login=2&r=1.19, ganz unten, Funktion "i2c_realip()".

Da ist keine Hexerei bei: Es werden die Angaben aus HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR und REMOTE_ADDR ausgewertet, wobei eine gewisse Prioritätenliste beachtet wird.

Das _garantiert_ aber trotzdem _nicht_, dass man außer REMOTE_ADDR noch irgendwelche anderen Adressen erfährt.

- Sven Rautenberg

--
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|