nginx ウェブサイト サービスのアンチホットリンクを設定する方法 (推奨)

nginx ウェブサイト サービスのアンチホットリンクを設定する方法 (推奨)

1. ホットリンクの原則

1.1 Webページの準備

Web ソース ホスト (192.168.153.20) の構成

/usr/local/nginx/html をコピーします
preview.jpg画像ファイルを/usr/local/nginx/htmlディレクトリvim index.htmlに転送します。
......
<img src="preview.jpg"/>
</本文>
</html>

echo "192.168.153.20 www.wt.com" >> /etc/hosts
echo "192.168.153.10 www.abc.com" >> /etc/hosts 

ここに画像の説明を挿入
ここに画像の説明を挿入

ホットリンクウェブサイトホスト(192.168.153.20)の構成

ソースホストのnginxサービスと区別するために、ホットリンクホストは一般的なwedサービスyum install -y httpdを使用することができます。

vim /var/www/html/index.html
<html><body><h1>こんにちは! </h1>
<img src="http://www.wt.com/preview.jpg"/>     
</body></html>

echo "192.168.153.20 www.wt.com" >> /etc/hosts
echo "192.168.153.10 www.abc.com" >> /etc/hosts

systemctl で httpd を再起動します。 

ここに画像の説明を挿入

1.2 ブラウザアクセスの検証

ここに画像の説明を挿入
ここに画像の説明を挿入

2. アンチホットリンクを設定する

2.1 設定ファイルを変更する

vim /usr/local/nginx/conf/nginx.conf
http {
......
	サーバー{
	......
		場所 ~* \.(jip|gif|swf)$ {
			有効なリファラー *.wt.com wt.com;
			もし $invalid_referer であれば
				書き換え^/ http://www.wt.com/error.png;
				#403 を返します。
			}
		}
	......
	}
}

~* .(jpg|gif|swf)$ : この正規表現は、大文字と小文字を区別せず、.jpg、.gif、または .swf で終わるファイルと一致します。
valid_referers: 画像を正常に使用できるように信頼できる Web サイトを設定します。
次の URL またはドメイン名: リファラーに該当する文字列を含む URL。
If 文: リンクのソースドメイン名が valid_referers のリストになく、$invalid_referer が 1 の場合、次の操作、つまり書き換えまたは 403 ページに戻る操作が実行されます。


ここに画像の説明を挿入

error.png画像ファイルを/usr/local/nginx/htmlディレクトリに転送します。

ここに画像の説明を挿入

2.2 ブラウザアクセスの検証

ここに画像の説明を挿入

nginx ウェブサイト サービスのアンチホットリンクの設定方法に関するこの記事はこれで終わりです。nginx ウェブサイト サービスのアンチホットリンクに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nginx でアンチホットリンクを設定するための手順を完了する
  • Nginx のアンチホットリンクを設定する方法
  • Nginx アンチホットリンクは、UA (アンチスパイダー)に基づいて悪意のあるユーザーエージェントリクエストをブロックします。
  • Nginx サーバーでのホットリンク防止方法の紹介
  • Nginx イメージホットリンク保護設定例
  • Nginx アンチホットリンク設定方法
  • Nginx でホットリンクを防ぐ 3 つの方法

<<:  Vue ページ スタック マネージャーの詳細

>>:  HTML チュートリアル: よく使われる HTML タグのコレクション (5)

推薦する

Ubuntu システムにおける Mysql ERROR 1045 (28000): ユーザー root@localhost へのアクセスが拒否される問題の解決方法

最初の方法: skip-grant-tables: 非常に便利なmysql起動パラメータ非常に便利な...

Reactコンポーネントのライフサイクル機能についての簡単な説明

React コンポーネントのライフサイクル機能とは何ですか?ライフサイクル関数は、ES6 構文クラス...

5分でReactルーティングについてお教えします

目次ルーティングとは純粋コンポーネントの基本的な使用純粋なコンポーネントの使用に関する注意事項ルーテ...

Windows CVE-2019-0708 リモート デスクトップ コード実行脆弱性の再現問題

1. 脆弱性の説明マイクロソフトは2019年5月15日、CVE番号CVE-2019-0708のWin...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

HTMLテキストオーバーフローの2つの一般的な解決策は省略記号を表示することです

方法1: CSSオーバーフロー省略を使用して解決する解決策は次のとおりです。 CSSコード: ディス...

Linux で crond ツールを使用してスケジュールされたタスクを作成する方法

序文Crond は Linux のスケジュール実行ツール (Windows のスケジュールされたタス...

Telnet は Alpine イメージの busybox-extras に移動されました

Alpine イメージの telnet はバージョン 3.7 以降、busybox-extras パ...

Dockerの基本的な手順

目次基本的な指示1. 現在のマシンのコンテナステータスを確認する2. イメージをダウンロードまたは取...

HTML シンプルな Web フォーム作成例の紹介

<input> はユーザー情報を収集するために使用され、終了ステートメントはありません。...

Vue+ElementUI はページング関数を実装します - mysql データ

目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...

JavaScript インスタンス オブジェクトでプロトタイプ メソッドをオーバーライドする方法の詳細

目次JavaScriptでは、通常、次のコードのようにクラスを簡単に定義できます。 var サンプル...

HTMLフォームのいくつかの送信方法の概要

最も一般的で、最もよく使用され、最も一般的な方法は、submit タイプを使用することです。コードを...

DockerでのinfluxDB分散時系列データベースのインストールと関連操作について簡単に説明します。

influxDB の紹介influxDB は分散型時系列データベースです。 cAdvisor はリ...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...