Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Nginx, um Hotlinking zu verhindern

So verwenden Sie Nginx, um Hotlinking zu verhindern

王林
王林Original
2023-06-11 13:25:413975Durchsuche

Mit der Popularität des Internets bieten immer mehr Websites externe Linkfunktionen für Bilder, Videos und andere Ressourcen. Diese externe Linkfunktion kann jedoch leicht gestohlen werden. Hotlinking bedeutet, dass andere Websites Bilder, Videos und andere Ressourcen auf Ihrer Website verwenden, um diese Ressourcen über die Referenzadresse direkt auf ihrer eigenen Website anzuzeigen, anstatt sie auf ihren eigenen Server herunterzuladen. Auf diese Weise können Hotlink-Websites den Datenverkehr und die Bandbreitenressourcen Ihrer Website kostenlos nutzen, was Ressourcen verschwendet und die Website-Geschwindigkeit beeinträchtigt.

Um dieses Problem zu beheben, können Sie Nginx verwenden, um Hotlinking zu verhindern. Nginx ist ein allgemeiner Webserver und Reverse-Proxy-Server und hat auch eine gute Wirkung bei der Verhinderung von Hotlinks. Als nächstes stellen wir vor, wie man Nginx verwendet, um Hotlinking zu verhindern.

Schritt 1: Aktivieren Sie das Anti-Hotlinking-Modul

Nginx verfügt bereits über Anti-Hotlinking-bezogene Funktionen in seinem Kernmodul. Bevor wir Nginx konfigurieren, müssen wir zunächst bestätigen, ob bei Nginx das Anti-Hotlink-Modul aktiviert ist. Wenn es nicht aktiviert ist, müssen Sie Nginx neu kompilieren oder das entsprechende Modul installieren.

Schritt 2: Anti-Hotlinking-Regeln konfigurieren

Die Anti-Hotlinking-Funktion von Nginx kann über die Standortanweisung in der Konfigurationsdatei implementiert werden. Wir müssen den folgenden Inhalt zur Konfigurationsdatei des virtuellen Nginx-Hosts hinzufügen:

location ~* .(gif|jpg|jpeg|png|bmp)$ {
    valid_referers none blocked yourdomain.com;
    if ($invalid_referer) {
        return   403;
    }
}

Der obige Code zeigt an, dass externe Links nur auf der Website yourdomain.com zulässig sind. Wenn die Quelle nicht yourdomain.com ist, wird ein 403-Fehler zurückgegeben und ein direkter Zugriff ist nicht möglich.

Schritt 3: Whitelist hinzufügen

Wenn Sie die Verlinkung bestimmter Websites oder IP-Adressen zulassen müssen, können Sie diese zur Whitelist hinzufügen. In Nginx kann Whitelisting über die Direktive valid_referers erreicht werden. Beispielsweise können wir den Anti-Hotlinking-Regeln in der Konfigurationsdatei den folgenden Code hinzufügen, um eine Whitelist hinzuzufügen:

location ~* .(gif|jpg|jpeg|png|bmp)$ {
    valid_referers none blocked yourdomain.com example.com 192.168.0.1;
    if ($invalid_referer) {
        return   403;
    }
}

Im obigen Code haben wir yourdomain.com und example.com sowie die IP-Adresse 192.168.0.1 hinzugefügt Whitelist können diese Websites direkt auf Ihre Ressourcen zugreifen.

Schritt 4: Rewrite-Modul aktivieren

Das Rewrite-Modul von Nginx kann zum Umschreiben von URLs verwendet werden. Wir können das Rewrite-Modul verwenden, um die Bild-URL der Ursprungsseite auszublenden, wodurch das Hotlinking schwieriger wird und Website-Ressourcen geschützt werden. Wir müssen der Konfigurationsdatei den folgenden Inhalt hinzufügen:

if ($http_referer !~ ^http://(www.)?yourdomain.com(/|$)) {
    return 403;
}

Der obige Code bedeutet, dass ein 403-Fehler zurückgegeben wird, wenn die Quelle nicht Ihre Website ist. Auf diese Weise kann Hotlinking effektiv verhindert werden.

Zusammenfassung

Die oben genannten Methoden sind einige Methoden zur Verwendung von Nginx, um Hotlinking zu verhindern. Durch diese Methoden können wir die Ressourcen unserer Website schützen, die Verschwendung von Bandbreite und Ressourcen vermeiden und gleichzeitig die Sicherheit der Website erhöhen. In praktischen Anwendungen müssen Sie es entsprechend Ihren eigenen Bedürfnissen konfigurieren und anpassen, um die Wirksamkeit der Anti-Blutegel-Strategie sicherzustellen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx, um Hotlinking zu verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn