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

Docker-Port-Mapping und externe Unzugänglichkeitsprobleme

Der Docker-Container stellt Dienste bereit und la...

Beispielanalyse der drei Verbindungsmethoden für virtuelle VMware-Maschinen

NAT Auf diese Weise wird die Netzwerkkarte der vi...

Grafisches Tutorial zum Herunterladen und Installieren von MySQL 5.7 und höher

1. Herunterladen 1. Download-Adresse der offiziel...

Detaillierte Erklärung der Beziehung zwischen Linux- und GNU-Systemen

Inhaltsverzeichnis Was ist das Linux-System, das ...

Verwenden Sie JS, um Dateien zu bearbeiten (FileReader liest --node's fs)

Inhaltsverzeichnis JS liest Datei FileReader doku...

Schritte zum Aktivieren des MySQL-Datenbanküberwachungs-Binlogs

Vorwort Wir müssen häufig etwas basierend auf bes...

html-Seite!--[if IE]...![endif]--Detaillierte Einführung in die Verwendung

Code kopieren Der Code lautet wie folgt: <!--[...

So verbergen Sie die Grenze/Trennlinie zwischen Zellen in einer Tabelle

Nur den oberen Rand anzeigen <table frame=above...

JavaScript zum Anzeigen und Ausblenden von Bildern

JavaScript zeigt und verbirgt Bilder. Zu Ihrer In...

Detaillierte Erklärung zur korrekten Verwendung der Zählfunktion in MySQL

1. Beschreibung Wenn wir in MySQL die Gesamtzahl ...

7 Fähigkeiten, die Webdesigner haben müssen

Webdesign ist sowohl eine Wissenschaft als auch e...

Methode zum dynamischen Laden von Geojson basierend auf Vue+Openlayer

Laden eines oder mehrerer Features <Vorlage>...