PHP Client IP Adresse

KeepXtreme

Lt. Commander
Registriert
Sep. 2008
Beiträge
1.402
halt, nicht wegklicken, dies ist keine 5sec googeln hätte auch gereicht Frage!

so, zu meinem Problem:
ich möchte in einem php-Skript die IP des Nutzers in eine Datenbank speichern.
Theoretisch sollte das ja über $_SERVER['REMOTE_ADDR'] gehen...
Tut es aber nicht, die Variable liefert mir immer nur 127.0.0.1 zurück. Auch das durch apache_get_headers() zurückgegebene Array enthält nur eine IP: 127.0.0.1
ich bin mit meinem Latein am Ende, hat jmd. noch ne Idee?

achja, bevor hier dumme Kommentare kommen: nein, der Webserver läuft nicht auf meinem lokalen PC sondern auf einem Server im Uni-Netz und ich hock zur Zeit zu hause und bin auch nicht über VPN eingewählt!
 
vermutlich, da sämtliche anfragen an den Server erstmal durchs RZ der Uni müssen...
 
nein,
liefert entweder 127.0.0.1 zurück - oder, wenn ich die erste if-Bedingung rausschmeiß (und das folgende elseif zu nem if werden lasse) einfach nen leeren String zurück
 
Hi,

kannst du das Script einfach mal hier posten? Ist schwierig so...


VG,
Mad
 
schon mal auf die Idee gekommen in die Server Variable zu gucken?

print_r($_SERVER);
 
nein, noch nicht

Array ( [HTTP_USER_AGENT] => Opera/9.80 (Windows NT 6.1; U; de) Presto/2.7.62 Version/11.01 [HTTP_HOST] => *entfernt* [HTTP_ACCEPT] => text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 [HTTP_ACCEPT_LANGUAGE] => de,de-DE;q=0.9,en;q=0.8 [HTTP_ACCEPT_CHARSET] => iso-8859-1, utf-8, utf-16, *;q=0.1 [HTTP_ACCEPT_ENCODING] => deflate, gzip, x-gzip, identity, *;q=0 [HTTP_REFERER] => *entfernt* [HTTP_COOKIE] => PHPSESSID=56c8dcb4bbdb8e53b4d4a7e61d7ca7d4; SESSedde82d938c411dbb8c1ecdef8a8906a=51b07edd0e5857cb0379df60ffe333e6 [HTTP_COOKIE2] => $Version=1 [HTTP_CACHE_CONTROL] => no-cache [HTTP_CONNECTION] => Keep-Alive, TE [HTTP_TE] => deflate, gzip, chunked, identity, trailers [PATH] => /usr/local/bin:/usr/bin:/bin [SERVER_SIGNATURE] => [SERVER_SOFTWARE] => Apache/2.2.16 (Debian) [SERVER_NAME] => *entfernt* [SERVER_ADDR] => 172.22.63.139 [SERVER_PORT] => 80 [REMOTE_ADDR] => 127.0.0.1 [DOCUMENT_ROOT] => *entfernt* [SERVER_ADMIN] => *entfernt* [SCRIPT_FILENAME] => *entfernt* [REMOTE_PORT] => 51759 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /profilfachwahl/ [SCRIPT_NAME] => /profilfachwahl/index.php [PHP_SELF] => /profilfachwahl/index.php [REQUEST_TIME] => 1299615138 [argv] => Array ( ) [argc] => 0 )

hilft nur nicht wirklich weiter...
 
Zuletzt bearbeitet:
Hi,

hab's mit deiner Datei getestet. Bei mir kommt die richtige Adresse raus. Liegt also an der Uni-Konfiguration.

VG,
Mad
 
ok, jmd. ne Idee wie ich ev. ne Chance hätte, das zu umgehen..?

edit:// Problem gelöst: mein vorgänger hatte das apache-module removeip installiert - das ist für das Problem verantwortlich (habs jetzt einfach für den entsprechenden vhost deaktiviert)
euch trotzdem danke für eure Hilfe...
 
Zuletzt bearbeitet:
Meiner Meinung nach ist das ein gewolltes Vorgehen der Universität. Die Speicherung von IP-Adressen ist nach wie vor höchst umstritten. Du kannst dich ja gerne an die IT-Administration deiner Universität werden. Die werden dir das mit Sicherheit erklären.
 
1. da ich kein Mitarbeiter der Universität bin und es mein Vorgänger zu seiner Zeit auch nicht war, geht mich sowas nicht wirklich etwas an.
2. Des weiteren bezweifle ich, dass sich jmd. an unserer Uni schonmal groß gedanken über datenschutz gemacht hat xD
3. mir ist durchaus bewusst, dass das ein Streitthema ist. aber auch wenn die fachschaft server&skript stellt, ist das Ganze eig. eine offzielle sache der fakultät - und somit brauch ich die kombination ip/timestamp um bei eventuellen missbrauchsfällen eine handhabe zu haben (btw.: nicht jeder besuch wird automatisch registriert - es geht nur darum, wenn sich jmd. mit falschen angaben registriert)
 
Zuletzt bearbeitet:
Hi,

aber so wie du das formulierst ist es doch kein Problem mal mit den entsprechenden Stellen zu reden oder? Ich verstehe sowieso nicht wie es anders gehen soll: wenn du ein Projekt machst und das bei denen in der Serverlandschaft laufen soll wirst du eh nicht drum herum kommen ein wenig Kontakt mit den Leuten da zu haben.

VG,
Mad
 
ich brauch mit keiner "Stelle" reden^^ da das Problem dieses apache-module ist, sprich auf unserem Server läuft (der zwar im uninetz steht, der uni aber nicht gehört^^), kann ich einstellen wie ich will. Hab jetzt das mod für den entsprechenden vhost einfach deaktiviert und schon gehts...
 
Zurück
Oben