


Können wir die Benutzer-IP auf der Webserverseite der Website wirklich begrenzen?
Ich habe gerade eine Frage zur Nginx-Weiterleitung und zum Ändern der Weiterleitungsquellen-IP gestellt. Da die IP der Zugriffsanforderungsquelle nach Belieben geändert werden kann, kann der IP, die wir auf dem Webserver erhalten haben, nicht vollständig vertraut werden tun? Um die tatsächliche IP des Benutzers einzuschränken, oder ist dieser Weg wirklich nicht machbar?
Antwortinhalt:
Ich habe gerade eine Frage zur Nginx-Weiterleitung und zum Ändern der Weiterleitungsquellen-IP gestellt. Da die IP der Zugriffsanforderungsquelle nach Belieben geändert werden kann, kann der IP, die wir auf dem Webserver erhalten haben, nicht vollständig vertraut werden tun? Um die tatsächliche IP des Benutzers einzuschränken, oder ist dieser Weg wirklich nicht machbar?
Wurde Nginx von [Ihnen] erstellt oder muss es von [gesperrten Benutzern] erstellt werden?
HTTP_X_FORWARD_FOR kann gefälscht werden, REMOTE_ADDR kann jedoch nicht geändert werden.
Wenn es von [gesperrtem Benutzer] erstellt wurde:
Sie können die IP des Nginx-Servers über $_SERVER["REMOTE_ADDR"] abrufen und ihn direkt blockieren.
Wenn [Sie] Nginx erstellt haben:
Obwohl die IP des Benutzers über $_SERVER["HTTP_X_FORWARD_FOR"] abgerufen werden kann, kann sie gefälscht sein.
<code>proxy_set_header X-Forward-For $remote_addr</code>
Der beste Weg ist, private HTTP-Header hinzuzufügen. Wenn Nginx weiterleitet, fügen Sie private HTTP-Header hinzu. Ich weiß nicht, was gefälscht werden muss.
<code>proxy_set_header X-GAGAGA $remote_addr</code>
Darüber hinaus wird das HL-System der Proxy-Plattform, die derzeit von Alibabas WW verwendet wird, nicht streng durch HTTP_X_FORWARD_FOR gefiltert, und sorgfältig konstruierte Anforderungen können injiziert werden. . . (Jetzt wurde die neue Version behoben)
Was Fälschungen betrifft: Wenn Sie Linux/Unix/OSX verwenden, kann der integrierte Curl dies tun:
<code>curl abc.com/test.php -H "X-FORWARD-FOR:8.8.8.8"</code>
Wenn keine Filterung erfolgt, gibt es eine Funktion, mit der direkt bestimmt werden kann, ob über IP auf die schwarze Liste gesetzt oder IP-Betriebsprotokolle im Hintergrund aufgezeichnet werden sollen:
<code>#想注入就注入 curl miaoqiyuan.cn/test.php -H "X-FORWARD-FOR:' or 'a'='a" #想XSS就XSS curl miaoqiyuan.cn/test.php -H "X-FORWARD-FOR:alert('a')"</code>
Ich habe mir bei der Konfiguration von Nginx eine Lösung überlegt: Fügen Sie „proxy_set_header X-Forward-For $remote_addr“ hinzu. Dann ruft $_SERVER["HTTP_X_FORWARD_FOR"] die echte IP des Benutzers ab und schränkt dann die IP im Programm ein.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Der Zugriff auf WordPress -Site -Datei ist eingeschränkt: Fehlerbehebung Der Grund, warum auf die TXT -Datei in letzter Zeit nicht zugegriffen werden kann. Einige Benutzer haben ein Problem beim Konfigurieren des MINI -Programms Business Domain Name: � ...

Das gleichzeitige Ausführen mehrerer PHP -Versionen im selben System ist eine häufige Anforderung, insbesondere wenn verschiedene Projekte von verschiedenen Versionen von PHP abhängen. Wie man auf demselben ...

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4
