Wie man die Lokale IP-Adresse und proxy-server-client
Ich viele Artikel gelesen, was darauf hindeutet, zu verwenden, http_x_forwarded_for, um proxy-server zu erhalten und Reale ip-Adresse des client, aber keiner von Ihnen scheinen zu arbeiten.
Ich bin eine zugewiesene lokale IP-Adresse und ich benutze Proxy-server eine Verbindung zum internet. Aber Wenn ich angezeigt, ganze $_SERVER variable gab es nicht eine einzige Spur von meinen Realen Maschine-IP und dem Proxy-server verwendet wird von mir.
Diese LINK zeigt die ganze $_SERVER-variable.
Ich denke, es ist nicht möglich in PHP. Wie kann ich dies erreichen? Ich weiß, das ist möglich, weil, sobald ich sah einige Webseite anzeigen meine echte IP-Adresse und Proxy-server verwendet, die von mir im Mozilla. Aber sicher nicht die Sprache, die verwendet wurde.
Wie kann ich die erreichen? Ich bin bereit, Sie zu verwenden, CGI oder JavaScript. Ich konnte keine gefunden lauffähiges Beispiel, im internet. Hilfe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist völlig bis zu der proxy, ob oder ob nicht, es schickt die
http_x_forwarded_for
header. Einige und einige nicht. Welchen proxy Sie verwenden, wenn Sie gedruckt haben, die$_SERVER
variable, nicht senden Sie die Kopfzeile.Selbst wenn alle Proxys haben senden Sie die Kopfzeile, Sie wäre noch immer ein problem, da kann jeder fälschen die
http_x_forwarded_for
header und so, wenn Ihr Skript behandelt wie die echten IP, dann könnte jemand vortäuschen, die es zu umgehen Ihre IP-check.Die besten, die Sie tun können, wenn die Verwendung
$_SERVER['REMOTE_ADDR']
und vergessen Sie sich aufhttp_x_forwarded_for
. Ja, die Nutzer von Proxys wird in der Lage sein besuchen Sie Ihre Website unter einer neuen IP, aber das ist besser als die Möglichkeit für alle Benutzer zu spoofen der IP inhttp_x_forwarded_for
.Als Hilfe könnten Sie verwalten eine Liste der bekannten proxies, aber auch dies nicht letztlich geben Sie die echte client-IP, es könnte dir nur sagen, wenn die IP in der proxy-Liste.
x_forwarded_for
. Siehe auch mein edit über das halten einer Liste von proxies.Fand ich, dass die kleinen Schalter, die ich schrieb, löste das problem für die meisten Menschen, die Schwierigkeiten hatte, immer die echte ip-eher als ein proxy. Es prüft, ob die
REMOTE_ADDR
und dieHTTP_X_FORWARDED_FOR
sind die gleichen, und wenn Sie sind, es gibt dieREMOTE_ADDR
. Wenn Sie unterschiedlich sind, es wird davon ausgegangen, dass dieHTTP_X_FORWARDED_FOR
ist richtig, weil dieREMOTE_ADDR
in der Regel gibt der proxy. Hoffe, das hilft. Bitte lassen Sie mich wissen, wenn es einen besseren Weg gibt! [email protected]