Heim > Artikel > Backend-Entwicklung > Wie erhalte ich die echte Besucher-IP-Adresse, wenn Proxys verwendet werden?
Abrufen der echten Besucher-IP-Adresse trotz Proxy-Nutzung
Der PHP-Code, der üblicherweise zum Abrufen der IP-Adresse eines Besuchers verwendet wird, ist:
<code class="php"><?php echo $_SERVER['REMOTE_ADDR']; ?></code>
Allerdings gelingt es dieser Methode nicht, die wahre IP zu erfassen, wenn Proxys im Spiel sind. Auf der Suche nach einer Lösung für dieses Problem wollen wir uns mit einem alternativen Ansatz befassen.
Benutzerdefinierte PHP-Funktion zur IP-Ermittlung
Der bereitgestellte PHP-Code bietet eine umfassende Lösung unter Berücksichtigung von CloudFlare-Verbindungen und verschiedene andere Faktoren:
<code class="php">function getUserIP() { // Handle CloudFlare connections if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; } $client = @$_SERVER['HTTP_CLIENT_IP']; $forward = @$_SERVER['HTTP_X_FORWARDED_FOR']; $remote = $_SERVER['REMOTE_ADDR']; if(filter_var($client, FILTER_VALIDATE_IP)) { $ip = $client; } elseif(filter_var($forward, FILTER_VALIDATE_IP)) { $ip = $forward; } else { $ip = $remote; } return $ip; } $user_ip = getUserIP();</code>
Dieser Code weist die IP-Adresse der Variablen $user_ip zu, die dann nach Bedarf in Ihrem PHP-Skript verwendet werden kann.
Das obige ist der detaillierte Inhalt vonWie erhalte ich die echte Besucher-IP-Adresse, wenn Proxys verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!