Heim  >  Artikel  >  Backend-Entwicklung  >  Holen Sie sich die IP-Adresse in PHP

Holen Sie sich die IP-Adresse in PHP

PHPz
PHPzOriginal
2024-08-29 13:07:16457Durchsuche

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 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

IP-Version

Die folgenden Punkte erläutern die IP-Version:

  • Eine IP-Version wird entsprechend dem Bit des Internet-Protokoll-Labels definiert. Beispielsweise definiert IPv4, eine frühere Version, eine 32-Bit-Internetprotokolladresse. Mit dem Wachstum des Internets entstand IPv6, das ein 128-Bit-Nummern-IP-Label definiert. IPv6 wird seit 1995 bis heute verwendet. Die Internetprotokolladresse ist in einer für Menschen verständlichen Sprache geschrieben. Ein Beispiel für IPv4 ist 170.17.260.2 und ein Beispiel für IPv6 ist 2001:db8:2:1434:1:587:5:2.
  • Der von Internetprotokolladressen beanspruchte Speicherplatz wird global verwaltet. Ein Register namens Internet Assigned Numbers Authority ermöglicht zusammen mit den anderen fünf regionalen Registern die Speicherplatzverwaltung für Internetprotokolladressen. Die IANA ist für die Zuweisung und Verwaltung von Internetprotokoll-Adressbereichen an alle Endbenutzer und andere Internetanbieter in den ihnen zugewiesenen Gebieten oder Territorien verantwortlich. Ebenso wird allen Geräten, die mit einem Internetdienstanbieternetzwerk verbunden sind, eine eindeutige Internetprotokolladresse zugewiesen.
  • Es gibt statische Internetprotokolladressen, die sich nicht oft ändern, sie werden den Servern bereitgestellt. Die Internetdienstanbieter stellen einem Computer, der ein Modem verwendet, eine spezifische und eindeutige Internetprotokolladresse zur Verfügung. Diese IP-Adresse ist für eine Sitzung eindeutig und kann sich für die nächste Sitzung ändern.

Identifizieren und Zurückgeben der IP-Adresse in PHP

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.

Methoden zum Abrufen der IP-Adresse in PHP

Unten finden Sie das Beispiel zum Abrufen einer IP-Adresse in PHP:

Beispiele #1

Am einfachsten ist es, $_SERVER mit „REMOTE_ADDR“ zu verwenden. Dadurch wird die IP-Adresse des Benutzers zurückgegeben, der die Seite gerade anzeigt.

  • Beispiel für die Verwendung von [‘REMOTE_ADDR’] zur Identifizierung der IP-Adresse des Servers in PHP.

Code:

<?php
echo 'User IP - '.$_SERVER['REMOTE_ADDR'];
?>

Ausgabe:

Holen Sie sich die IP-Adresse in PHP

Beispiel #2

Eine andere Methode namens „SERVER_ADDR“, die auch zum Abrufen der IP-Adresse des Servers verwendet wird. 

  • Beispiel für die Verwendung von [‘SERVER_ADDR’] zur Identifizierung der IP-Adresse des Servers in PHP.

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:

Holen Sie sich die IP-Adresse in PHP

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.

Beispiel #3

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.

  • Beispiel mit [‘HTTP_CLIENT_IP’] und [‘HTTP_X_FORWARDED_FOR’] zur Identifizierung der IP-Adresse des Servers in PHP.

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:

Holen Sie sich die IP-Adresse in PHP

Wenn man den Aktionsablauf des obigen Codes verstehen möchte, kann man sich dazu auf das folgende Flussdiagramm beziehen.

Holen Sie sich die IP-Adresse in PHP

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.

Wichtige Punkte

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:

Holen Sie sich die IP-Adresse in PHP

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;

Holen Sie sich die IP-Adresse in PHP

3. Auch hier können die Nullen eliminiert werden und es bleibt:: 0001

Holen Sie sich die IP-Adresse in PHP

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-AusgabepufferungNächster Artikel:PHP-Ausgabepufferung