IP-Adressen Problem
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
auslese
befehlen
besucher
code
dank
ende
folgendes problem
gegensatz
http
internetzugang
kunde
liste
router
sache
unterschied
verbindung
vergeben
versuchen
wissen
-
Hab folgendes Problem. Wenn ich die IP-Adresse via PHP auslesen will, bekomme ich unterschiedliche werte für die IP-Adresse.
Vielleicht liegt es nur an meinem Internetzugang via UMTS, da ich dort vor dem NAT/PAT - Router des Providers hänge.
<?php $ip_addr = getenv(\'REMOTE_ADDR\'); echo \"ip_addr = getenv(\'REMOTE_ADDR\'):\"; echo \"<br>\"; echo \"$ip_addr\"; echo \"<br>\"; echo \"<br>\"; echo \"REMOTE_ADDR:\"; echo \"<br>\"; echo $REMOTE_ADDR; ?>
Ausgegeben wird bei mir wenn ich auf die php Seite gehe (IP´s habe ich ausgeXXXt):
ip_addr = getenv(\'REMOTE_ADDR\'):
XX5.2X.1XX.188
REMOTE_ADDR:
XX2.1XX.XX7.188
Was passiert wenn Ihr auf die Seite geht?
Link:
http://tof-devil.lima-city.de/xtest.php
Aber trozdem würde ich gern wissen was nun genau der unterschied zwischen den beiden Befehlen ist:
getenv(\'REMOTE_ADDR\')
$REMOTE_ADDR
MfG tof-devil
PS: $REMOTE_ADDR ist ja eine GlobaleVariable, wenn ich mich nicht täusche... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Sowas ist sehr gefährlich da es leicht manipuliert werden kann. Globale Variablen immer über die Servervariablen auslesen. Also in deinem Fall für die IP $_SERVER[\'REMOTE_ADDR\'].
Wenn ich auf deine Seite gehe kommt--> Parse error: syntax error, unexpected T_STRING, expecting \',\' or \';\' in /home/webpages/lima-city/tof-devil/html/xtest.php on line 15 -
Habe sie nochmal neu hochgeladen.
Bitte versuche es nochmal. Danke
MfG tof-devil
PS: Kann es sein das ich die zusätzliche Variable falsch geschrieben habe, deshlab hat das nicht funktioniert, habe es jetzt rausgenommen...
$_SERVER[\"HTTP_CLIENT_IP\"]
funktioniert wohl nicht, oder habe ich es nur falsch geschrieben?
PPS: habe herausgefunden, das die IP-Adresse, wenn ich jetzt raufgehe was anzeigt, was die Sache vielleicht aufklärt...
ip_addr = getenv(\'REMOTE_ADDR\'):
XX5.2X.1XX.188
REMOTE_ADDR:
X9X.X6X.XX9.106
habe mich im gegensatz zu gestern ja neu eingewählt und die ip_addr = getenv(\'REMOTE_ADDR\'): bleibt unverändert, aber bei REMOTE_ADDR: habe ich jetzt eine andere IP.
Kann es sein das ip_addr = getenv(\'REMOTE_ADDR\'): die IP von NAT/PAT/Proxy ist und REMOTE_ADDR: dann meine eigene Interne die vom Provider zugewiesene ist?
Wobei das Ja nicht zusammen passt, da ich bei meiner DFÜ-Verbindung wieder eine ganz andere habe, und zwar eine Private IP-Adresse ala 10.XXX.XXX.XXX.
Bei wieistmeineip.de wird wieder die gleiche IP angezeigt wie bei REMOTE_ADDR:.
Also was könnte der unterschied sein?
PPPS: Nochwas, wenn ich über einen CGI-Proxy gehe sehe ich folgendes:
ip_addr = getenv(\'REMOTE_ADDR\'):
XX5.2X.1XX.188
REMOTE_ADDR:
72.46.136.18
_SERVER[\'REMOTE_ADDR\']
72.46.136.18
ip_addr = getenv(\'REMOTE_ADDR\') ist wieder die selbe und die beiden anderen haben sich durch den Proxy geändert...
Bei einem Ping mit -a (Namensauflösung) kommt folgendes raus:
Ping static-ip-XX5-2X-1XX-188.inaddr.intergenia.de [XX5.2X.1XX.188] mit 32 Bytes
Beitrag geändert: 6.5.2008 10:04:59 von tof-devil -
Habe sie nochmal neu hochgeladen.
Bitte versuche es nochmal. Danke
Geht
$_SERVER[\"HTTP_CLIENT_IP\"]
Das ist zumindest keine Servervariable.
Eine Liste aller verfügbaren Variablen kannst du mit print_r($_SERVER); ausgeben.
Siehe auch--> http://de.php.net/manual/de/reserved.variables.php#reserved.variables.server
PPS: habe herausgefunden, das die IP-Adresse, wenn ich jetzt raufgehe was anzeigt, was die Sache vielleicht aufklärt...
ip_addr = getenv(\'REMOTE_ADDR\'):
XX5.2X.1XX.188
REMOTE_ADDR:
X9X.X6X.XX9.106
habe mich im gegensatz zu gestern ja neu eingewählt und die ip_addr = getenv(\'REMOTE_ADDR\'): bleibt unverändert, aber bei REMOTE_ADDR: habe ich jetzt eine andere IP.
Kann es sein das ip_addr = getenv(\'REMOTE_ADDR\'): die IP von NAT/PAT/Proxy ist und REMOTE_ADDR: dann meine eigene Interne die vom Provider zugewiesene ist?
Wobei das Ja nicht zusammen passt, da ich bei meiner DFÜ-Verbindung wieder eine ganz andere habe, und zwar eine Private IP-Adresse ala 10.XXX.XXX.XXX.
Bei wieistmeineip.de wird wieder die gleiche IP angezeigt wie bei REMOTE_ADDR:.
Also was könnte der unterschied sein?
Dein Provider wird wohl einen Proxy für die Kunden benutzen um nicht soviele IPs vergeben zu müssen. 10... ist dann deine interne Provider-IP und die andere bei wieistmeineip.de ist die öffentliche IP des Providers.
$_SERVER[\'REMOTE_ADDR\'] gibt immer die IP des Besuchers aus, in dem Fall also deine. Die IP von getenv(\'REMOTE_ADDR\') ist eine ServerIP von Lima-City.
PPPS: Nochwas, wenn ich über einen CGI-Proxy gehe sehe ich folgendes:
ip_addr = getenv(\'REMOTE_ADDR\'):
XX5.2X.1XX.188
REMOTE_ADDR:
72.46.136.18
_SERVER[\'REMOTE_ADDR\']
72.46.136.18
ip_addr = getenv(\'REMOTE_ADDR\') ist wieder die selbe und die beiden anderen haben sich durch den Proxy geändert...
Siehe darüber: IP von getenv ist ein Lima-Server. -
Oki vielen Dank,
habe zwar auch fast das selbe am Ende vermutet, war mir aber nicht sicher
Nochmals vielen Dank
MfG tof-devil -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage