IP-Adresse auslesen?
christoph
- php
0 Ashura0 christoph0 Ashura0 chris0 Sven Rautenberg0 Ashura
0 Andreas Korthaus0 Andreas Görtz
Hallo,
wie kann ich die IP-Adresse der User auslesen? Für eine Doppelpostingsperre?
danke
puts "Hallo " + gets.chomp + "."
?> christoph
=> Hallo christoph.
wie kann ich die IP-Adresse der User auslesen? Für eine Doppelpostingsperre?
Mit $_SERVER['[link:http://de2.php.net/manual/de/reserved.variables.php#reserved.variables.server@title=REMOTE_ADDR]'].
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo,
danke
habe dies auch angegeben:
$_SERVER["REMOTE_ADDR"]
gibt mir aber immer meine Homepage an "www.mtevents.de"
und nicht die jeweilige IP Adresse.
Die PHP Version ist 4.3.3
Ich meine, dass die bei der Verion 4.0.6 ging.
Durch ein Serverumzug von meinem Hoster wurde die Version geändert.
gruss christoph
puts "Hallo " + gets.chomp + "."
?> christoph
=> Hallo christoph.
habe dies auch angegeben:
$_SERVER["REMOTE_ADDR"]
gibt mir aber immer meine Homepage an "www.mtevents.de"
und nicht die jeweilige IP Adresse.
Du hast vermutlich den Hinweis bei REMOTE_ADDR überlesen:
------------
Anmerkung: Um diese Variable zu erzeugen, muss Ihr Webserver entsprechend eingestellt sein.
Zum Beispiel muss beim Apache HostnameLookups On in der httpd.conf aktiv sein.
Siehe auch unter [gethostbyaddr()](http://de2.php.net/manual/de/function.gethostbyaddr. php).
------------
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo,
also liegt es dann an den Einstellungen.
Nicht mein Fehler.
Hoffe, dass das mein Hoster für mich ändert.
danke
gruss chris
Moin!
Du hast vermutlich den Hinweis bei REMOTE_ADDR überlesen:
Das ist kein Hinweis bei REMOTE_ADDR, sondern bei REMOTE_HOST.
Die IP-Adresse des Clients kriegt man eigentlich immer mit REMOTE_ADDR.
puts "Hallo " + gets.chomp + "."
?> Sven
=> Hallo Sven.
Du hast vermutlich den Hinweis bei REMOTE_ADDR überlesen:
Das ist kein Hinweis bei REMOTE_ADDR, sondern bei REMOTE_HOST.
Tatsache, da habe ich mich wohl verlesen.
Die IP-Adresse des Clients kriegt man eigentlich immer mit REMOTE_ADDR.
Eben. Ich hatte noch nie Probleme, die IP-Adresse damit auszulesen, ich wüsste nicht, weshalb hier die Domain erscheinen sollte. (Wenn nicht gerade ein anderes Skript dazwischenfunkt.)
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo!
Ich hatte noch nie Probleme, die IP-Adresse damit auszulesen, ich wüsste nicht, weshalb hier die Domain erscheinen sollte. (Wenn nicht gerade ein anderes Skript dazwischenfunkt.)
Mit der Funktion kannst Du eine gegebene IP nur in ein anderes Format umwandeln, z.B.: http://213.198.84.179/ => http://3586544819/.
Grüße
Andreas
puts "Hallo " + gets.chomp + "."
?> Andreas
=> Hallo Andreas.
[...] (Wenn nicht gerade ein anderes Skript dazwischenfunkt.)
Mit der Funktion kannst Du eine gegebene IP nur in ein anderes Format umwandeln, z.B.: http://213.198.84.179/ => http://3586544819/.
Ich weiß, war auch nur ein Beispiel. Ich möchte nun ungern alle Funktionen aufzählen, die in irgend einer Kombination dazwischen funken könnten.
Einen schönen Donnerstag noch.
Gruß, Ashura
Hi!
Ich weiß, war auch nur ein Beispiel. Ich möchte nun ungern alle Funktionen aufzählen, die in irgend einer Kombination dazwischen funken könnten.
Es ging ja nur darum, in welcher Variable die IP steht. Wenn man dann noch irgendwelche Funktionen darauf anwendet macht man das vermutlich bewußt - zumindest machen die Funktionen das bei mir nicht von alleine ;-)
Grüße
Andreas
Hallo!
habe dies auch angegeben:
$_SERVER["REMOTE_ADDR"]
gibt mir aber immer meine Homepage an "www.mtevents.de"
und nicht die jeweilige IP Adresse.
das ist aber seltsam.
In der CGI-Spezifikation steht dazu:
# REMOTE_HOST
The hostname making the request. If the server does not have this
information, it should set REMOTE_ADDR and leave this unset.REMOTE_ADDR
The IP address of the remote host making the request.
Daran sollte sich der Apache eigentlich halten: http://httpd.apache.org/docs-2.0/mod/mod_cgi.html#env. Bei der Apache sapi von PHP sollte das eigentlich genau so funktionieren.
Evtl. ist da etwas falsch konfiguriert, kann ich mir aber eigentlich kaum vorstellen.
Hast Du Dir mal print_r($_SERVER) ausgeben lassen, oder phpinfo()? Evtl. wird die IP aufgrund irgendeiner seltsamen Konfiguration woanders gespeichert.
Aber zu Deinem ursprünglichen Problem - was willst Du da mit der IP machen? Bzw. was willst Du genau verhindern? Dass man Formulare aus Versehen doppelt abschickt?
Da gibt es verschiedene Ansätze das zu verhindern. Einer wäre eine Header-Weiterleitung nach Speicherung der Daten.
siehe:
http://www.php-faq.de/q/q-formular-mehrfach.html
Ein anderer wäre die Verwendung eines eindeutigen Token als hidden-field im Formular, der serverseitig (Datei, DB, Session...) gespeichert wird und nur einmal verwendet werden kann.
siehe:
http://phpsec.org/projects/guide/2.html#2.4
http://www.php-faq.de/q/q-scripte-abstimmung.html
Grüße
Andreas
Hi,
habe dies auch angegeben:
$_SERVER["REMOTE_ADDR"]
gibt mir aber immer meine Homepage an "www.mtevents.de"
und nicht die jeweilige IP Adresse.
spannend ;-)
Durch ein Serverumzug von meinem Hoster wurde die Version geändert.
frag doch mal bei deinem Hoster nach (welcher ist denn das?). Wäre nett, wenn du die Antwort/Lösung hier posten würdest.
Gruß,
Andreas.