Nginx でアンチホットリンクを設定するための手順を完了する

Nginx でアンチホットリンクを設定するための手順を完了する

必要:

通常、サイト側は、ウェブサイト上の動画や写真が盗まれるのを防ぎたいと考えています。結局のところ、動画のトラフィックには多額の費用がかかります(お金持ちはこれを考慮する必要がありません)。

1. 早速ですが、まずnginxの設定ファイルをアップロードします

サーバー{
聞く 80;
サーバー名 www.test.com;
ルート /data/web/;
インデックス index.php index.html;
access_log /data/logs/nginx/biao.madacode.access.log メイン;

位置 /{
ルート /home/data/;
}

エラーページ 404 /usr/local/nginx/html/404.html;

場所 ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referers なし ブロックされた server_names *.test.com http://IP;
($invalid_referer) の場合 {
403 を返します。
}
24時間で期限切れになります。
access_log オフ;

}
場所 ~ /\。
{
すべてを否定する;
}

}

2. アンチホットリンクのコア設定ファイルの解釈

場所 ~ .*\.(wma|wmv|asf|mp3|mp4|mmf|zip|rar|jpg|gif|png|swf|flv)$
{
valid_referers なし ブロックされた server_names *.test.com http://IP;
($invalid_referer) の場合 {
403 を返します。
}
24時間で期限切れになります。
access_log オフ;

}

vaild_referers 有効な参照リンクは次のとおりです。それ以外の場合は $invaild_refere を入力し、403 forbidden を返します。

1. なし

「Referer」ソース ヘッダーが空です

2. ブロックされた

「Referer」ソース ヘッダーは空ではありませんが、プロキシまたはファイアウォールによって値が削除され、いずれの値も http:// または https:// で始まっていません。

3. サーバー名

「Referer」ソース ヘッダーには、現在の server_names (現在のドメイン名) が含まれます。

3. シミュレーションケーステスト

1. 参照をシミュレートするために --referer を追加し、結果が直接 403 であることを確認します。これは、上記の構成が適切であることを証明します。

[root@test]# curl --referer http://baidu.com -I http://www.test.com/temp/T19254/20190820/video_out_out/1/0011.mp4
HTTP/1.1 403 禁止
サーバー: Tengine
日付: 2019年8月21日水曜日 09:54:44 GMT
コンテンツタイプ: text/html
コンテンツの長さ: 639
接続: キープアライブ


要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • Linux での Nginx アンチホットリンクと最適化の実装コード
  • Nginx でホットリンクを防ぐ 3 つの方法
  • Nginx アンチホットリンク設定方法
  • Nginx サーバーでのホットリンク防止方法の紹介
  • Nginx イメージホットリンク保護設定例
  • Nginx のアンチホットリンクを設定する方法
  • Nginxのアンチホットリンクとサービス最適化設定の全プロセス

<<:  CentOS 7 での mysql 5.7 のインストール チュートリアル

>>:  シンプルなカレンダー効果を実現する js

推薦する

IDEA を使用して Tomcat を設定し、JSP ファイルを作成する方法

idea を使用して JSP ファイルを書き込む前に、jdk 環境 (ここでは説明しません) と対応...

Nginx と Lua を使用した JWT 検証の概要

目次序文Lua スクリプトnignx.conf の設定Dockerfileの設定序文データベースやそ...

APP (IOS、Android) を呼び出すモバイル H5 の記述例

iOS 1. URLスキームこのソリューションは基本的に、WeChat、QQ 組み込みブラウザ、QQ...

HTML a タグの href 属性を使用して相対パスと絶対パスを指定する方法

実際のWeb開発では、画像の挿入やCSSファイルなどすべてパスが必要となります。ファイルパスを誤って...

Centos6.6 で php7 + nginx 環境をインストールする方法

この記事では、centos6.6 で php7 + nginx 環境をインストールする方法について説...

tomcat9.exeをクリックするとクラッシュする問題を解決する方法

ある読者から連絡があり、ダウンロードが終了し、操作がまだ開始されていないのに、なぜ Tomcat の...

CentOS7 インストール GUI インターフェースとリモート接続の実装

ブラウザ (Web ドライバー) ベースの Selenium テクノロジを使用してデータをクロールす...

MySQL 5.7.17 winx64 のインストールと設定のチュートリアル

今日、MySQL データベースをコンピューターに再度インストールしました。システムを再インストールす...

userdel コマンドを使用して Linux ユーザーを削除する方法の詳細なチュートリアル

セルデルとは何かuserdel は、ユーザーを削除するための低レベルのツールです。 Debian で...

MySQL のグループ分けの例

mysql のような php switch case ステートメント。 xxフィールドを選択、ケース...

MySQL ページング分析の原理と効率改善

MySQL ページング分析の原理と効率改善PERCONA PERFORMANCE CONFERENC...

HTML テーブルタグチュートリアル (44): テーブルヘッダータグ

<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...

LinuxカーネルマクロContainer_Ofの詳細な説明

目次1. 構造体はメモリにどのように保存されますか? 2. container_ofマクロ3. 型4...

MySQLは2つの日付間の日数、月数、年数を計算します

MySQL 組み込みの日付関数 TIMESTAMPDIFF は、2 つの日付間の秒数、分数、時間数、...

テーブルの最大幅と最小幅を設定する際の互換性の問題と解決策の詳細な説明

テーブル内の min-width と max-width プロパティの設定 <テーブル>...