Heim >Backend-Entwicklung >PHP-Tutorial >Holen Sie sich die IP-Adresse in PHP
Um „IP-Adresse in PHP abrufen“ zu lernen, studieren wir zunächst die IP-Adresse. Eine IP-Adresse oder eine Internetprotokolladresse ist eine Adresse, bei der es sich um eine numerische Adresse oder Bezeichnung handelt, über die jedes mit einem Netzwerk verbundene System oder Gerät verfügt. Jedem solchen Gerät wird die IP-Adresse zugewiesen. Diese Geräte verwenden das Internetprotokoll für jede Art von Kommunikation.
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Die folgenden Punkte erläutern die IP-Version:
Aus Sicherheitsgründen erfassen die Websites die IP-Adressen der Besucher ihrer Websites. Es gibt eine einfache Möglichkeit, diese Adresse in PHP zu erhalten. In PHP gibt es ein spezielles Array, das hilft und die IP-Adresse Ihres Computers zurückgibt. Ein Array wird als „$_SERVER“ bezeichnet. Es enthält Informationen zu den Pfaden, Headern und Skriptspeicherorten. Der Webserver erstellt die für das Array $_SERVER erforderlichen Informationen. Manchmal erstellt oder stellt der Server nicht alle für das Array erforderlichen Informationen bereit und lässt möglicherweise einige davon weg. Somit gibt es ein weiteres Array, das in solchen Fällen verwendet werden kann. Es wird als „SERVER_ADDR“ geschrieben. Dieses Array gibt die IP-Adresse des Servers zurück, unter dem das Skript ausgeführt wird.
Unten finden Sie das Beispiel zum Abrufen einer IP-Adresse in PHP:
Am einfachsten ist es, $_SERVER mit „REMOTE_ADDR“ zu verwenden. Dadurch wird die IP-Adresse des Benutzers zurückgegeben, der die Seite gerade anzeigt.
Code:
<?php echo 'User IP - '.$_SERVER['REMOTE_ADDR']; ?>
Ausgabe:
Eine andere Methode namens „SERVER_ADDR“, die auch zum Abrufen der IP-Adresse des Servers verwendet wird.
Code:
<?php // PHP program to retrieve server’s Internet Protocol address // Creating a variable to store the server address $ip_server = $_SERVER['SERVER_ADDR']; // Displaying the retrieved address echo "Server IP Address is: $ip_server"; ?>
Ausgabe:
Erklärung zum obigen Programm: Das obige Beispielarray [$_SERVER] ist hilfreich, wenn die Maschine nicht über einen Proxy angeschlossen ist. Wenn die Maschine über oder über den Proxyserver mit dem Internet verbunden ist, gibt $_SERVER[‘REMOTE_ADDR’] in PHP nicht die richtige IP-Adresse zurück. Es gibt lediglich die IP-Adresse des Proxyservers und des Computers des Benutzers oder Clients zurück. In dieser Situation wird eine andere Methode verwendet, um die richtige Adresse abzurufen.
Das folgende Beispiel wird verwendet, um die korrekte und echte IP-Adresse zurückzugeben, selbst wenn sich der Computer hinter einem Proxyserver versteckt. Es verwendet ein zusätzliches Paar SERVER-Variablen, die verfügbar sind, um die genaue IP-Adresse des Systems oder Computers des Clients zu ermitteln. Sie sind als HTTP_CLIENT_IP und HTTP_X_FORWARDED_FOR bekannt.
Code:
<?php function RetrieveUserIP() { if(!empty($_SERVER['HTTP_CLIENT_IP'])) { $address=$_SERVER['HTTP_CLIENT_IP']; } elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $address=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $address=$_SERVER['REMOTE_ADDR']; } return $address; } echo 'User IP Address is'.RetrieveUserIP(); ?>
Ausgabe:
Wenn man den Aktionsablauf des obigen Codes verstehen möchte, kann man sich dazu auf das folgende Flussdiagramm beziehen.
Erklärung zum obigen Programm: Das obige Beispiel zum Abrufen der IP-Adresse verwendet zwei Variablen, [‘HTTP_CLIENT_IP’] und [‘HTTP_X_FORWARDED_FOR’]. Im Programm machen wir den ersten Versuch, es über HTTP_CLIENT_IP direkt von der Maschine zu bekommen. Wenn dies nicht verfügbar ist, versuchen wir, mithilfe von HTTP_X_FORWARDD_FOR die IP weiterzuleiten. Wenn beide Bedingungen null sind, versuchen wir, die IP-Adresse mithilfe der Variablen REMOTE_ADDR abzurufen.
Im Folgenden sollten die Punkte zum Abrufen einer IP-Adresse in PHP beachtet werden:
1. Wenn wir den obigen Code ausgeführt haben, wird die zurückgegebene IP-Adresse als::1 angezeigt. Dies wird als Loopback-Adresse bezeichnet, die tatsächlich durch 127 Mal Nullen gefolgt von einer 1 dargestellt wird, also (0000…. 127 Mal….1). Wenn wir es aufschreiben, wird es wie folgt geschrieben:
2. Aber in IPv6 können wir dieses große Label in einer Kurzform darstellen. Wenn also in einem einzelnen Block alle Nullen vorhanden sind, kann dieser durch eine einzelne Null ersetzt werden. Wenn man also die obige Regel befolgt, wird daraus: 0:0:0:0:0:0:0:0001;
3. Auch hier können die Nullen eliminiert werden und es bleibt:: 0001
4. Was wiederum auf „:: 1“ reduziert wird, also die Ausgabe.
Erklärung zum obigen Code: Wenn sie ausgeführt werden, geben sie möglicherweise keine Ausgabe oder einen Laufzeitfehler zurück, da private Domänen ihre Internetprotokolladressen nicht bereitstellen. Wenn die oben genannten Codes hingegen auf einem lokalen Server oder einem lokalen Host ausgeführt werden, wie wir einen WAMP-Server verwendet haben, wird eine Ausgabe entsprechend der IP-Version bereitgestellt, d. h. wenn es sich um IPv4 handelt, lautet die Internetprotokolladresse wird als „127:0:0:1“ angezeigt, während bei IPv6 die Internetprotokolladresse wie oben angezeigt wird, also „:: 1“
Das obige ist der detaillierte Inhalt vonHolen Sie sich die IP-Adresse in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!