» IP des Besuchers ermitteln REMOTE_ADDR, HTTP_X_FORWARDED_FOR

Passwort Generator mit hoher SicherheitNeuen Thread eröffnenNeue Antwort erstellenXML parsen mit PHP?
AutorNachricht
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52422
Wohnort: Lohmar


Meine eBay-Auktionen:
27.02.2009, 15:50
zitieren

Auf Grund eines Tipps kam ich zu diesen Funktionen:
http://www.dreamincode.net/code/snippet1745.htm
http://www.grantburton.com/tag/http_client_ip/

Die waren mir in Sachen Performance zu schlecht, weshalb ich das gecodet habe:
// set ip 
if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) && isset($_SERVER['HTTP_X_FORWARDED_FOR']{6}) && ($_SERVER['HTTP_X_FORWARDED_FOR']{0} . $_SERVER['HTTP_X_FORWARDED_FOR']{1} . $_SERVER['HTTP_X_FORWARDED_FOR']{2}) != '10.') {
   switch($_SERVER['HTTP_X_FORWARDED_FOR']{0} . $_SERVER['HTTP_X_FORWARDED_FOR']{1} . $_SERVER['HTTP_X_FORWARDED_FOR']{2} . $_SERVER['HTTP_X_FORWARDED_FOR']{3} . $_SERVER['HTTP_X_FORWARDED_FOR']{4} . $_SERVER['HTTP_X_FORWARDED_FOR']{5} . $_SERVER['HTTP_X_FORWARDED_FOR']{6}) {
      case '192.168':
      case '169.254':
      case '172.16.':
      case '172.17.':
      case '172.18.':
      case '172.19.':
      case '172.20.':
      case '172.21.':
      case '172.22.':
      case '172.23.':
      case '172.24.':
      case '172.25.':
      case '172.26.':
      case '172.27.':
      case '172.28.':
      case '172.29.':
      case '172.30.':
      case '172.31.':
         break;
      default:
         if (preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $_SERVER['HTTP_X_FORWARDED_FOR'], $row)) {
            $_SERVER['REMOTE_ADDR'] = $row[1];
         }
   }
}

$_SERVER['REMOTE_ADDR'] enthält je nach Bedarf nun die erste IP aus $_SERVER['HTTP_X_FORWARDED_FOR'], außer HTTP_X_FORWARDED_FOR enthält eine lokale und damit private IP.

Neben $_SERVER['HTTP_X_FORWARDED_FOR'] gibt es noch:
HTTP_CLIENT_IP
HTTP_X_CLUSTER_CLIENT_IP
HTTP_PROXY_USER

Aber ich habe herausgefunden, dass alle diese Werte inkl. $_SERVER['HTTP_X_FORWARDED_FOR'] simpel gefälscht werden können.

Also man sollte den oben genannten Code gar nicht einsetzen und einfach bei $_SERVER['REMOTE_ADDR'] bleiben. Wer ihn doch haben will, sollte meine Variante nutzen, da sie weit aus schneller sein dürfte.

Gruß


pn email
Beobachter 

Name: Yoda
Fahrzeug: Raketenauto
Anmeldedatum: 20.06.2009
Beiträge: 9
Wohnort: Popelhausen


Meine eBay-Auktionen:
20.06.2009, 08:48
zitieren

So.. ich weiss das dieses Thema sehr sehr lange alt ist aber hoffentlich erkennt jmd. das hier was neues sthet....xD

nur eine Frage was soll das bringen
"ich lern erst grad php deswegen :D :D :D "


pn
Administrator 

Name: Marc
Geschlecht:
Anmeldedatum: 28.08.2004
Beiträge: 52422
Wohnort: Lohmar


Meine eBay-Auktionen:
20.06.2009, 18:11
zitieren

Normalerweise enthält $_SERVER['REMOTE_ADDR'] die IP des Besuchers. Auf vielen Seiten wird aber darauf hingewiesen, dass ein Besucher, der z.B. über einen Proxy kommt, in den oben genannten Variablen auch noch weitere IPs ermittelt werden können. z.B. seine echte und nicht die des Proxys. Faktisch wäre das aber ein dummer Proxy, der trotzdem noch die echte IP übermittelt. Daher empfehle ich bei $_SERVER['REMOTE_ADDR'] zu bleiben. Wenn jemand über einen Proxy kommt, dann ist das nun mal so.

Gruß


pn email
Gast 
20.06.2009, 18:11
zitieren

Mach mit!

Wenn Dir die Beiträge zum Thread "IP des Besuchers ermitteln REMOTE_ADDR, HTTP_X_FORWARDED_FOR" gefallen haben oder Du noch Fragen hast oder Ergänzungen machen möchtest, solltest Du Dich gleich bei uns anmelden:



Registrierte Mitglieder genießen die folgenden Vorteile:
✔ kostenlose Mitgliedschaft
keine Werbung
✔ direkter Austausch mit Gleichgesinnten
✔ neue Fragen stellen oder Diskussionen starten
✔ schnelle Hilfe bei Problemen
✔ Bilder und Videos hochladen
✔ und vieles mehr...


Neuen Thread eröffnenNeue Antwort erstellen
Ähnliche BeiträgeRe:
Letzter Beitrag
CSV Delimiter ermitteln
Die Funktion durchläuft die bekannten Delimiter und gibt als Ergebnis das Zeichen aus, was die meisten Spalten resultierte: function csv_delimiter($filename) { $delimiters = array('|', ';',...
[PHP]von mgutt
0
424
16.02.2015, 22:37
mgutt
Batteriezustand ermitteln!?
Hallo Jungs, hab mal sone frage: Meine Autobatterie ist vor ein paar Tagen entladen, wahrscheinlich durch zuviel musik hören und licht anlassen, wärend der Motor aus ist! So nun hab ich das Auto mit Überbrückungskabeln angekriegt und war damit ca....
von JohnnyB
7
1.591
27.11.2007, 17:48
JohnnyB
Windows 8 Key aus Recovery ermitteln?
Kann ich aus einem Recovery den Windows 8 Key ermitteln und damit dann eine neue Installation durchführen? Damals als ich den Notebook gekauft hatte, war Windows 8 vorinstalliert und natürlich keine Installations-DVD dabei. Ich finde auch nirgends einen...
von mgutt
4
150
07.01.2015, 15:53
mgutt
Farbe von Querlenker ermitteln
Hallo, habe mir Focuz Querlenker gekauft nun brauche ich die ganuere Farbe da ich meine anderen Achsteile auch so lackieren will. Könnt mir evtl jemand helfen? Also farbe ist ca Bronze bzw...
von ArTo_1HGEJ2
9
896
02.11.2009, 17:07
silent
Lackfarbe: wie ermitteln ohne Farbcode?
Hallo, ich möchte mir bald einen Type R-Grill in meinen EJ9 einbauen; allerdings ist mein Fahrzeug vom Vorbesitzer, einem wohl bereits ein wenig senilen Rentner, 2 Jahre nach seiner EZ silber umlackiert worden. Jedoch ist dies wohl nicht das...
von MrHighway
9
17.733
26.03.2007, 08:09
STRAUBSTER
Domain Namen ermitteln (in URL bzw Hostnamen)
Es ist gar nicht so einfach eine Domain aus einer URL zu ermitteln, denn es gibt viele URLs, die exakt den selben Aufbau besitzen, aber unterschiedliche Bedeutungen haben: - bbc.co.uk ist eine Domain - www.db.de ist eine Subdomain Man benötigt also...
[PHP]von mgutt
1
7.821
04.02.2017, 03:26
mgutt
Wie kann ich die kleinste Zahl ermitteln?
#include <stdio.h> #include <conio.h> int max(int a, int b) { if (a > b) return (a); else return (b); } int min (int a, int b) { if (a < b) return (a); else return (b); ...
[C]von Torti87
1
919
28.09.2011, 14:05
hugo17
Gewindesteigung bestimmen/messen/ermitteln: Wie?
Hi, wie ermittle ich die Gewindesteigung einer Schraube? Messe ich einfach den Abstand zwischen zwei Gewinden oder wie? Gibts was für Deppen so einer Art "Schraublehre"?...
von mgutt
26
45.454
12.07.2012, 20:21
RS188
Signaturgröße automatisch ermitteln und bei Bedarf ablehnen
Jeder kennt das als Forenbetreiber. Die User hauen große Grafiken in die Signatur oder gar animierte GIFs ohne Ende. Da setzen wir doch glatt einen Riegel vor: // check image size if (stripos($this->value, '[/img') !== false)...
[PHP]von mgutt
0
7.535
20.02.2009, 02:28
mgutt
Prozessor / CPU Takt ermitteln - Tool gesucht
Ich habe die Vermutung, dass meine CPU den Geist aufgibt. Da ich vor kurzem einen Test gesehen habe, wo die CPU bei Hitze die Taktung reduzierte, frage ich mich, ob das bei mir nicht auch der Fall ist, weil immer wenn Aktion gefragt ist, wird der Rechner...
von mgutt
36
8.283
12.09.2008, 06:04
nfs_freak
© 2004 - 2025 www.programmierer-forum.de | Communities | Impressum |