So Finden Sie Die IP Des Clients Heraus

Inhaltsverzeichnis:

So Finden Sie Die IP Des Clients Heraus
So Finden Sie Die IP Des Clients Heraus

Video: So Finden Sie Die IP Des Clients Heraus

Video: So Finden Sie Die IP Des Clients Heraus
Video: Windows 11 - So finden Sie Ihre IP-Adresse | Überprüfen Sie Ihre eigene IP-Adresse 2024, Kann
Anonim

Anhand der IP-Adresse eines Besuchers Ihrer Seite können Sie einiges über ihn erfahren – Land, Stadt, Name und E-Mail-Adresse des Internetanbieters usw. Der Hauptwert besteht jedoch darin, dass die IP als Besucher-ID für serverseitige Skripte dienen kann. Nachfolgend wird beschrieben, wie Sie die IP-Adresse mit PHP ermitteln können.

So finden Sie die IP des Clients heraus
So finden Sie die IP des Clients heraus

Es ist notwendig

Grundkenntnisse in PHP

Anleitung

Schritt 1

Um die IP-Adresse aus den an den Browser-Anfrageserver gesendeten Headern zu extrahieren, verwenden Sie die Funktion getenv. Es liest die ihm angegebenen Werte aus den Umgebungsvariablen. Eine Variable namens REMOTE_ADDR wird verwendet, um die IP-Adresse des Besuchers zu speichern. Der Client kann jedoch einen Proxy-Server verwenden. In diesem Fall enthält die Variable seine Adresse und nicht die gewünschte. Sie können feststellen, dass der Websurfer eine Zwischen-IP verwendet, indem Sie sich die Umgebungsvariable HTTP_VIA ansehen. Darin werden alle Adressen der an der Kette beteiligten Proxy-Server durch Kommas getrennt eingetragen. Zwischenserver müssen die Adresse des Besuchers in einer Variablen namens HTTP_X_FORWARDED_FOR platzieren, dies hängt jedoch vollständig von den Proxy-Einstellungen ab. Das heißt, um möglichst viele Möglichkeiten zur Ermittlung der IP-Adresse abzudecken, müssen Sie den Inhalt von mindestens drei Variablen prüfen: REMOTE_ADDR, HTTP_X_FORWARDED_FOR und vorzugsweise

Schritt 2

Sie können die Überprüfung aller drei Variablen in einer Zeile PHP-Code kombinieren, zum Beispiel wie folgt:

$ ipAddr = getenv ('HTTP_CLIENT_IP') oder $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') oder $ ipAddr = getenv ('REMOTE_ADDR');

Nachdem Sie auf diese Weise den Wert der IP-Adresse erhalten haben, ist es ratsam, diese von möglichen Verzerrungen und unnötigen Zeichen zu befreien. Dazu können Sie einen regulären Ausdruck verwenden:

$ ipAddr = trimmen (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

Schritt 3

Es bleibt, beide Codezeilen zu einer Funktion zu kombinieren:

Funktion getIP() {

$ ipAddr = getenv ('HTTP_CLIENT_IP') oder $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') oder $ ipAddr = getenv ('REMOTE_ADDR');

zurück trimmen (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ ipAddr));

}

Empfohlen: