So erhalten Sie die Client-IP-Adresse in Laravel 5
In Laravel kann das Abrufen der IP-Adresse eines Clients eine einfache Aufgabe sein. Im Kern-PHP erfolgt der Zugriff auf die IP-Adresse über $_SERVER["REMOTE_ADDR"]. In Laravel wird die IP-Adresse des Besuchers jedoch möglicherweise nicht genau erfasst.
Laravels Ansatz
Laravel bietet eine dedizierte Methode zum Abrufen der IP-Adresse des Kunden:
<code class="php">Request::ip();</code>
Nach dem Login kopieren
Diese Methode nutzt intern die getClientIps-Funktion des Symfony Request Object, um den IP-Adressabrufprozess abzuwickeln.
Funktionsweise von getClientIps:
Die getClientIps-Methode folgt a mehrstufiger Ansatz:
-
Vertrauenswürdige Proxy-Validierung: Es prüft, ob die Anfrage von einem vertrauenswürdigen Proxy kommt, basierend auf den konfigurierten vertrauenswürdigen IP-Bereichen.
-
Header-Analyse: Basierend auf den vertrauenswürdigen Headern, die in der Konfiguration „trustedHeaders“ angegeben sind, werden IP-Adressen aus den weitergeleiteten oder Client-IP-Headern extrahiert.
-
IP-Kettenerstellung: Es wird gebildet eine Kette von IP-Adressen, einschließlich der ursprünglichen IP der Anfrage, der extrahierten Header und der vertrauenswürdigen Proxys.
-
Entfernung nicht vertrauenswürdiger Proxys: Alle als vertrauenswürdige Proxys identifizierten IP-Adressen werden aus der Kette entfernt.
-
Client-IP-Abruf: Die erste IP-Adresse in der nicht vertrauenswürdigen Proxy-gefilterten Kette wird als IP-Adresse des Clients identifiziert.
-
Portentfernung: Aus Gründen der Konsistenz werden alle Portinformationen aus der Client-IP-Adresse entfernt.
Das obige ist der detaillierte Inhalt vonWie erhalte ich die IP-Adresse eines Clients in Laravel 5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!