インターネットの普及に伴い、写真や動画などのリソースへの外部リンク機能を提供するWebサイトが増えています。しかし、この外部リンク機能は盗まれやすいのです。ホットリンクとは、他の Web サイトがあなたの Web サイト上の写真、ビデオ、その他のリソースを使用し、それらのリソースを独自のサーバーにダウンロードするのではなく、参照アドレスを通じて自分の Web サイトに直接表示することを意味します。このようにして、ホットリンク Web サイトは Web サイトのトラフィックと帯域幅のリソースを無料で使用できるため、リソースが無駄になり、Web サイトの速度に影響します。
この問題に対処するには、Nginx を使用してホットリンクを防ぐことができます。 Nginx は一般的な Web サーバーおよびリバース プロキシ サーバーであり、ホットリンクの防止にも効果があります。次にNginxを使ってホットリンクを防ぐ方法を紹介します。
ステップ 1: アンチホットリンク モジュールを有効にする
Nginx のコア モジュールには、アンチホットリンク関連の機能がすでに組み込まれています。 Nginx を構成する前に、まず Nginx でアンチホットリンク モジュールが有効になっているかどうかを確認する必要があります。有効になっていない場合は、Nginx を再コンパイルするか、対応するモジュールをインストールする必要があります。
ステップ 2: ホットリンク防止ルールを構成する
Nginx のホットリンク防止機能は、構成ファイル内の location ディレクティブを通じて実装できます。次の内容を Nginx 仮想ホスト構成ファイルに追加する必要があります:
location ~* .(gif|jpg|jpeg|png|bmp)$ { valid_referers none blocked yourdomain.com; if ($invalid_referer) { return 403; } }
上記のコードは、外部リンクが yourdomain.com サイトでのみ許可されていることを示しています。ソースが yourdomain.com ではない場合、403 エラーが返され、直接アクセスできません。
ステップ 3: ホワイトリストの追加
特定の Web サイトまたは IP アドレスの外部リンクを許可する必要がある場合は、それらをホワイトリストに追加できます。 Nginx では、valid_referers ディレクティブを通じてホワイトリストに登録できます。たとえば、次のコードを設定ファイルのアンチホットリンク ルールに追加して、ホワイトリストを追加できます。
location ~* .(gif|jpg|jpeg|png|bmp)$ { valid_referers none blocked yourdomain.com example.com 192.168.0.1; if ($invalid_referer) { return 403; } }
上記のコードでは、yourdomain.com と example.com および IP アドレス 192.168 を追加します。 .0.1 ホワイトリストに追加すると、これらの Web サイトはリソースに直接アクセスできるようになります。
ステップ 4: Rewrite モジュールを有効にする
Nginx の Rewrite モジュールを使用して URL を書き換えることができます。Rewrite モジュールを使用すると、元のサイトの画像 URL を非表示にすることができるため、ホットリンクの難易度が高くなります。 . Web サイトのリソースを保護します。次の内容を構成ファイルに追加する必要があります:
if ($http_referer !~ ^http://(www.)?yourdomain.com(/|$)) { return 403; }
上記のコードは、ソースが Web サイトでない場合、403 エラーが返されることを意味します。このようにして、ホットリンクを効果的に防止できます。
概要
上記は、Nginx を使用してホットリンクを防ぐいくつかの方法です。これらの方法を通じて、Web サイトのリソースを保護し、帯域幅とリソースの無駄を回避し、同時に Web サイトのセキュリティを高めることができます。実際のアプリケーションでは、リーチ防止戦略の有効性を確保するために、独自のニーズに応じて構成および調整する必要があります。
以上がnginx を使用してホットリンクを防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。