So richten Sie Referer in Nginx ein, um Bilddiebstahl zu verhindern

So richten Sie Referer in Nginx ein, um Bilddiebstahl zu verhindern

Wenn die Bilder des Servers von anderen Websites per Hotlink verknüpft werden, wirkt sich dies auf die Bandbreite und Zugriffsgeschwindigkeit des Servers aus. Zu diesem Zeitpunkt müssen wir eine Anti-Hotlink-Funktion für Bilddateien oder Videodateien einrichten.

Die Anti-Hotlink-Funktion bedeutet vereinfacht ausgedrückt, dass Sie zwar direkt auf die Ressource zugreifen können, den Link zu meiner Ressource jedoch nicht auf Ihrem eigenen Server platzieren können, damit andere darauf zugreifen können. Dies gilt insbesondere für große Dateien wie Bilder oder Videos, da dies leicht zu einer sehr langsamen Reaktion des Servers führen kann.

Wenn es sich nicht um einen Bildhosting-Dienst handeln würde, wäre ich wirklich besorgt, dass andere Websites die Bilder auf unserer Site direkt verwenden würden. Auf diese Weise kann der Datenverkehr im Handumdrehen aufgebraucht sein. Schließlich wird CDN mit viel Geld gekauft. Daher ist es besser, einen Anti-Hotlink einzurichten. Nginx kann diese Funktion erfüllen.

Wenn ein Browser, der das HTTP-Protokoll unterstützt, von Website A aus Website B besucht, fügt er im Allgemeinen die URL der aktuellen Website ein, um anzugeben, woher der Klick kam. Daher ist auch dieses Modul von Nginx auf die Implementierung angewiesen. Wenn Hacker diesen Header also nicht hinzufügen, können sie den Diebstahl von Bildern trotzdem nicht verhindern.

Die Dokumente auf der offiziellen Nginx-Website lauten wie folgt:

Syntax: valid_referers none | blockiert | Servernamen | Zeichenfolge ...;
Standard: -
Kontext: Server, Standort

Einführung in die Referrer-Direktive von Nginx

Das nginx-Modul ngx_http_referer_module wird normalerweise verwendet, um Anfragen von illegalen Domänennamen zu blockieren. Wir sollten bedenken, dass es sehr einfach ist, den Referer-Header zu fälschen, daher kann dieses Modul nur verwendet werden, um die meisten illegalen Anfragen zu blockieren. Wir sollten bedenken, dass einige legitime Anfragen keinen Referer-Quellheader haben, also sollten Anfragen mit einem leeren Quellheader (Referer) manchmal nicht abgelehnt werden.

Daher können wir Code im Server- oder Standortblock hinzufügen. Ich habe ihn als valid_referers.conf gespeichert:

valid_referers, keine blockierten Servernamen;

wenn ($ungültiger_Referrer) {
 Rückgabe 403;
}

Fügen Sie dann bei Bedarf include /etc/nginx/valid_referers.conf hinzu. Voraussetzung für die Ausführung ist natürlich, dass valid_referers.conf im Pfad /etc/nginx/valid_referers.conf auf der entsprechenden Maschine abgelegt wurde.

Beispiel:

 Standort /articles/img {
  /etc/nginx/valid_referers.conf einschließen;
  Stammverzeichnis /Daten/Blog/Code;
 }

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Nginx verwendet Referrer-Direktive, um Anti-Hotlink-Konfiguration zu implementieren
  • Verwenden Sie die Referrer-Direktive, um den Nginx-Server so zu konfigurieren, dass Image-Hotlinking verhindert wird

<<:  Vue implementiert grafischen Überprüfungscode

>>:  Vue implementiert die Anmeldung mit grafischem Bestätigungscode

Artikel empfehlen

Erstellen eines statischen Jenkins Docker-Agentknotens

Ein statischer Knoten ist auf einer Maschine fixi...

43 Webdesign-Fehler, auf die Webdesigner achten sollten

Dies ist ein Artikel über die Benutzerfreundlichk...

Lösung für Fremdschlüsselfehler bei der MySQL-Tabellenerstellung

Datenbanktabelle A: Tabelle erstellen Task_Desc_T...

Detaillierte Erläuterung der drei Methoden zum Abfangen von JS-Zeichenfolgen

JS bietet drei Methoden zum Abfangen von Zeichenf...

Implementierung von Platzhaltern und Escape-Zeichen in der Linux-Befehlszeile

Wenn wir Stapeloperationen für einen Dateityp aus...

Skin-Change-Lösung basierend auf Vue kombiniert mit ElementUI

Inhaltsverzeichnis Vorne geschrieben Lösung 1: Gl...

Beispielcode zur Implementierung eines bildadaptiven Containers mit CSS

Es gibt häufig Szenarien, in denen das Bild an di...

So erstellen Sie ein Tomcat-Image basierend auf Dockerfile

Dockerfile ist eine Datei, die zum Erstellen eine...

Tiefgreifendes Verständnis des Ereignisausführungsmechanismus von JavaScript

Inhaltsverzeichnis Vorwort Das Prinzip der asynch...

Mehrere gängige Methoden zum Senden von Anfragen mit Axios in React

Inhaltsverzeichnis Installieren und Einführen von...