Mein persönlicher Blog, Quelladresse: http://www.woniubi.cn/get_client_ip/
Helfen Sie jemandem in den ersten zwei Wochen Die Kinder von Freunden und Verwandten ziehen Tickets ab, wer macht uns zu Programmierern? Während dieses Vorgangs stieß ich auch auf Probleme wie die Neuinstallation des Systems, das Entfernen von Staub, das Einkaufen auf Taobao, das Stehlen von QQ, das Herunterladen von Filmen, den Grund, warum eine bestimmte Software nicht verwendet werden kann usw. Wenn Sie sagen, dass Sie das nicht können, sagen sie, dass Sie es nicht können Computerkenntnisse sind sehr gut.
Brushing-Tickets sind in verschiedene Einschränkungen, registrierte Benutzer, Bestätigungscodes und IP-Einschränkungen unterteilt. Diese Vote-Brushing-Website, nicht diese Abstimmungswebsite, unterliegt IP-Beschränkungen. Wenn wir das Limit überschreiten wollen, müssen wir verstehen, wie wir die IP des Benutzers erhalten.
1:getenv('HTTP_X_FORWARDED_FOR')
2:getenv('HTTP_CLIENT_IP')
3:getenv('REMOTE_ADDR')
HTTP_X_FORWARDED_FOR
Dies wird aus dem http-Header erhalten, sein Format ist A ip, B ip , C ip. Dafür gibt es zwei Gründe:
- Eine Website verwendet einen Lastausgleich, weil der Verkehr zu groß ist. Stellen Sie daher einen Lastausgleich vor die Anwendung Auf den Server kann von Benutzern nicht direkt zugegriffen werden.
- Benutzer verwenden Proxys für den Zugriff.
Der Benutzer verwendet zuerst eine IP. Jedes Mal, wenn eine Proxy-Ebene hinzugefügt wird, fügt dieser Header am Ende eine weitere IP hinzu, die durch Kommas getrennt ist, und erreicht schließlich die echter Webcontainer. Solange die Informationen aus dem Header stammen, können sie gefälscht werden. Daher ist die in diesem Fall verwendete A-IP möglicherweise nicht die tatsächliche IP des Benutzers. In unserem Fall können wir also nur die mit dem Load Balancer verbundene IP als die tatsächliche IP des Benutzers betrachten. Zumindest sind diese Daten korrekt. Bei dieser IP handelt es sich jedoch möglicherweise um die Proxy-IP des Benutzers und nicht um die tatsächliche IP des Benutzers. Aber diese Situation ist zumindest besser als die gefälschte IP des Benutzers.
HTTP_CLIENT_IP
Dies wird ursprünglich auch aus dem Header abgerufen, um die tatsächliche IP des Benutzers aufzuzeichnen, was jedoch selten der Fall ist gebraucht.
REMOTE_ADDR
Dies ist die IP, um die Verbindung herzustellen. Nur kleine Websites verwenden diese Methode, die die Daten direkt offenlegt. Die Site ist ein einzelner Punkt ohne Lastausgleich. Wenn die obere Schicht pxory verwendet, handelt es sich bei diesen Daten um die IP des Proxys.
Was ich getan habe, war, die x-forwarder-for-Daten direkt zu fälschen und sie dann zu täuschen. Aber innerhalb weniger Tage wurde diese Sicherheitslücke entdeckt Stattdessen verwende ich einen Proxy, um direkt zu wischen.
Das Obige stellt vor, wie man die Client-IP durch das Durchziehen von Tickets erhält, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.