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

So verwalten Sie mehrere Projekte auf dem CentOS SVN-Server

Eine Forderung Im Allgemeinen hat ein Unternehmen...

So verwenden Sie das JQuery-Editor-Plugin tinyMCE

Ändern Sie die vereinfachte Dateigröße und laden ...

Ausführliche Erklärung der Modi und Umgebungsvariablen in Vue CLI

Vorwort Bei der Entwicklung tatsächlicher Projekt...

Detaillierte Erläuterung der Verwendung von MySQL sql_mode

Inhaltsverzeichnis Vorwort sql_mode erklärt Die w...

Schritte zum Reparieren einer Beschädigung der Datei grub.cfg im Linux-System

Inhaltsverzeichnis 1. Einführung in die grub.cfg-...

Unterschied zwischen MySQL-Update-Set und und

Inhaltsverzeichnis Problembeschreibung Ursachenan...

Mybatis-Implementierungsmethode für Fuzzy-Abfragen

Mybatis-Implementierungsmethode für Fuzzy-Abfrage...

Erfahrung in der Lösung von Tomcat-Speicherüberlaufproblemen

Vor einiger Zeit habe ich Testern eine Produktver...

Notieren Sie eine Falle bei der Aktualisierung der MySQL-Update-Anweisung

Hintergrund Kürzlich habe ich während eines Onlin...

Der Unterschied zwischen Vue-Interpolationsausdruck und V-Text-Direktive

Inhaltsverzeichnis 1. Verwenden Sie Plugin-Ausdrü...