画像の盗難を防ぐために Nginx でリファラーを設定する方法

WBOY
リリース: 2023-05-12 18:52:06
転載
1627 人が閲覧しました

サーバーの画像が他の Web サイトによってホットリンクされている場合、サーバーの帯域幅とアクセス速度に影響します。このとき、画像ファイルまたはビデオ ファイルのアンチホットリンク機能を設定する必要があります。

アンチホットリンク機能、シンプル つまり、リソースに直接アクセスできますが、他の人がアクセスできるように自分のサーバーにリソースのリンクを置くことはできません。特に写真やビデオなどの大きなファイルは、サーバーが簡単にアクセスできるようにする必要があります。ゆっくりと反応する。

これが画像ベッドでない場合、他の Web サイトがこのサイトの画像を直接使用するのではないかと非常に心配です。結局のところ、CDN は無料のお金で購入されます。したがって、アンチホットリンクを設定することをお勧めします。nginx はこの機能を完了できます。

一般的に、http プロトコルに準拠するブラウザは、Web サイト a から Web サイト B にアクセスするときに、クリックの発信元を示すために現在の Web サイトの URL を表示します。したがって、nginx のこのモジュールもこれに依存して実装されるため、ハッカーがこのヘッダーを追加しない場合、盗難防止機能を享受することはできません。

nginx 公式 Web サイトのドキュメントは次のとおりです:

構文: valid_referers none |blocked |server_names | string ...;
default:—
context:server, location

#nginx リファラー ディレクティブの概要

nginx モジュール ngx_http_referer_module は通常、違法なソースからのドメイン名リクエストをブロックするために使用されます。リファラー ヘッダーを偽装することは非常に単純なことなので、このモジュールはほとんどの不正なリクエストを防ぐためにのみ使用できます。一部の正当なリクエストにはリファラー ソース ヘッダーが含まれていないため、場合によってはソースを拒否しないことを覚えておいてください。 header (referer) as Empty request.

したがって、サーバーまたはロケーションブロックにコードを追加できます。valid_referers.conf:

valid_referers none blocked server_names;

if ($invalid_referer) {
 return 403;
}
ログイン後にコピー

として保存し、必要な場所に include /etc/ を追加します. nginx/valid_referers.conf. もちろん、これを実行するための前提条件は、valid_referers.conf が対応するマシンの /etc/nginx/valid_referers.conf パスに配置されていることです。

例:

 location /articles/img {
  include /etc/nginx/valid_referers.conf;
  root /data/blog/code;
 }
ログイン後にコピー

以上が画像の盗難を防ぐために Nginx でリファラーを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!