Heim > Artikel > Backend-Entwicklung > PHP-Implementierung, um die echte IP des echten Clients zu erhalten
In diesem Artikel wird hauptsächlich die Methode von PHP vorgestellt, um die echte IP des echten Clients (REMOTE_ADDR, HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR) zu erhalten, die einen guten Referenzwert hat. Werfen wir einen Blick mit dem Editor unten
REMOTE_ADDR ist die IP, wenn Ihr Client mit Ihrem Server „Handshakes“ durchführt. Wenn ein „anonymer Proxy“ verwendet wird, zeigt REMOTE_ADDR die IP des Proxyservers an.
HTTP_CLIENT_IP ist der vom Proxyserver gesendete HTTP-Header. Wenn es sich um einen „superanonymen Proxy“ handelt, wird der Wert „none“ zurückgegeben. Ebenso wird REMOTE_ADDR durch die IP dieses Proxyservers ersetzt.
$_SERVER['REMOTE_ADDR']; //Accessor (kann ein Benutzer sein, kann ein Proxy sein) IP
$_SERVER['HTTP_CLIENT_IP']; //Proxy-Seite (kann vorhanden sein, kann gefälscht werden)
$_SERVER['HTTP_X_FORWARDED_FOR'] / /Welche IP der Benutzer als Proxy verwendet (kann existieren oder gefälscht werden)
Der Unterschied zwischen den drei Werten ist wie folgt:
1. Wenn kein Proxyserver verwendet wird:
REMOTE_ADDR = Ihre IP
HTTP_VIA = Kein Wert oder wird nicht angezeigt
HTTP_X_FORWARDED_FOR = Kein Wert oder nicht angezeigt
2. Bei Verwendung transparenter Proxyserver: Transparente Proxys
REMOTE_ADDR = Letzte Proxyserver-IP
HTTP_VIA = Proxy-Server-IP
HTTP_X_FORWARDED_FOR = Ihre tatsächliche IP-Adresse Bei der Weiterleitung über mehrere Proxy-Server ähnelt dieser Wert dem folgenden: 203.98.182.163, 203.98.182.163, 203.129.72.215.
Diese Art von Proxyserver leitet Ihre Informationen immer noch an die Person weiter, die Sie besuchen, und kann nicht den Zweck erreichen, Ihre wahre Identität zu verbergen.
3. Bei Verwendung gewöhnlicher anonymer Proxyserver: Anonyme Proxys
REMOTE_ADDR = Letzte Proxyserver-IP
HTTP_VIA = Proxyserver-IP
HTTP_X_FORWARDED_FOR = Proxyserver-IP. Beim Durchlaufen mehrerer Proxyserver ähnelt dieser Wert dem folgenden: 203.98.182.163, 203.98.182.163, 203.129.72.215.
Verbergen Sie Ihre echte IP, aber zeigen Sie Ihren Besuchern, dass Sie einen Proxyserver verwenden, um auf sie zuzugreifen.
4. Die Verwendung betrügerischer Proxyserver: Verzerrung von Proxys
REMOTE_ADDR = Proxyserver-IP
HTTP_VIA = Proxyserver-IP
HTTP_X_FORWARDED_FOR = Zufällige IP. Beim Durchlaufen mehrerer Proxyserver ähnelt dieser Wert dem folgenden: 203.98.182.163, 203.98.182.163, 203.129.72.215.
Sagen Sie dem Besucher, dass Sie einen Proxyserver verwenden, erfinden Sie jedoch eine gefälschte zufällige IP anstelle Ihrer echten IP, um ihn auszutricksen.
5. Bei Verwendung von Proxyservern mit hoher Anonymität: Proxys mit hoher Anonymität (Elite-Proxys)
REMOTE_ADDR = Proxyserver-IP
HTTP_VIA = Kein Wert Oder nicht angezeigt
HTTP_X_FORWARDED_FOR = Kein Wert oder nicht angezeigt. Beim Durchlaufen mehrerer Proxyserver ähnelt der Wert dem folgenden: 203.98.182.163, 203.98.182.163, 203.129.72.215.
Ersetzt alle Ihre Informationen vollständig durch die Informationen des Proxyservers, so wie Sie diesen Proxyserver verwenden, um direkt auf das Objekt zuzugreifen.
//获取用户IP $ip = ''; foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_FROM', 'REMOTE_ADDR') as $v) { if (isset($_SERVER[$v])) { if (! preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $_SERVER[$v])) { continue; } $ip = $_SERVER[$v]; } } uset($ip,$v);
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für das Studium aller hilfreich sein.
Verwandte Empfehlungen:
Erfahren Sie mehr über die Methode zum Erhalten von ClientIP in PHP
So implementieren Sie die Kommunikationsfunktion zwischen Client und Server basierend auf PHP-Socket
Das obige ist der detaillierte Inhalt vonPHP-Implementierung, um die echte IP des echten Clients zu erhalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!