PHP Ausgelesene Ip-Adresse ist falsch

daemon777

Lt. Commander
Registriert
Dez. 2003
Beiträge
1.371
Hallo Leute,

das Thema hat zwar wahrscheinlich eher weniger mit der Programmierung zu tun aber ich wusste nicht wohin das Thema sonst gehören könnte.

Also ich wollte eigentlich ganz simpel die Ip-Adresse mit Hilfe von php auslesen. Hierfür checke ich "HTTP_X_FORWARDED_FOR" falls hier eine Adresse hinterlegt ist und ansonsten "REMOTE_ADDR". da ich persönlich keinen Proxy benutze wird immer Letzteres benutzt. Jetzt ist aber das Dumme: die IP stimmt einfach nicht.

Dann habe ich mal bei "wieistmeineip.de" geschaut und auch hier wird die fehlerhafte IP angezeigt. Lediglich über die Konsole ("ipconfig") konnte ich die Richtige rausfinden.

Hat jemand eine Idee was hier schief laufen könnte?

Vielen Dank schonmal im Vorraus
daemon777
 
Du siehst auch nur die LAN IP und nicht die WAN IP in ipconfig. Per $_SERVER['REMOTE_ADDR'] ist es genau anders rum.
 
Ja du hat natürlich recht. Was ich gemacht habe ist irgendwie totaler quatsch. Mich hat da nur verwirrt, dass es eben keine 192.168.1...-Nummer war. Aber das lag daran, dass ich aus irgendeinem Grund bei "Virtual-Box" geschaut habe.

Mich wundert nur grade warum ich den Apache-Server extern nicht ansteuern kann. Also laufen tut er (lokale Ip oder localhost geht), Port (80) ist freigegeben und auf meinen Rechner weitergeleitet und in der Windows-Firewall ist der Apache auch erlaubt.
 
Oh man ich habs .. ihr könnt euch jetzt alle mal in einer Schlange aufstellen und mich Einer nach den Anderen schlagen :D Man sollte so Dinge einfach nicht anfangen wenn man müde ist ^^

Hab ganz verpeilt, dass 2 Router zwischen mir und dem Internet hängen -.-

Also es geht jetzt. Danke für eure Geduld xD

Die nächste Frage meinerseits wird hoffentlich wieder ein bisschen geistreicher.
 
FORWARDED_FOR ist generell keine Information der man trauen kann (speziell im Security-Kontext, aber auch bei z.B. Votes, wenn jeder nur einmal abstimmen soll), da der Client sie beliebig fälschen kann. Auf REMOTE_ADDR kann man sich dagegen in aller Regel verlassen (setzt der Webserver), muss aber eben bedenken, dass dahinter mehr als ein User stecken kann. Bsp: Firmennetzwerk einer großen Firma. Auch andersrum kann ein User über mehrere IPs kommen - war auf jeden Fall früher bei AOL so oder wenn man völlig legitim Tor oder andere Anonymisierer benutzt.

Wenn man eine (ziemlich) sichere und eindeutige Endpoint-Zuordnung haben will, kann man SSL benutzen und dann die SSL SessionID verwerten. Geht im Apachen z.B. über SSLOptions +StdEnvVar und dann SSL_SESSION_ID auslesen.
Beispiel wo man das Exploiten wiederum kann wäre hier wieder ein Firmenproxy der SSL entschlüsselt und dann neu verschlüsselt (geht, wenn man den Firmenbrowsern ein selbsterstelltes Cert per Default als vertrauenswürdig unterjubelt - es gibt tatsächlich Firmen die das tun). Sicherung dagegen wäre nur die Awareness der User, die Zertifikate im Browser zu prüfen oder aber Clientzertifikate zu fordern, was aber fast niemand macht und kann.
Man kann sich aber auch hier nicht dagegen wehren, dass z.B. ein User bei einem Voting mehr als eine Stimme abgibt - neue SSL-Session und fertig.
 
Zuletzt bearbeitet:
Zurück
Oben