Nginx クロスドメイン アクセスとアンチリーチングを構成する方法

WBOY
リリース: 2023-05-13 18:31:12
転載
1657 人が閲覧しました

クロスドメイン アクセス制御

クロスドメイン アクセス

Nginx クロスドメイン アクセスとアンチリーチングを構成する方法

##ブラウザがクロスドメイン アクセスを禁止しているのはなぜですか

安全ではなく、CSRF 攻撃を受ける可能性があります。


Nginx クロスドメイン アクセスとアンチリーチングを構成する方法#ハッカーによって制御されている Web サイト b が応答ヘッダーに悪意のある情報を追加して、クライアントが Web サイト a にアクセスできるようにすると、csrf 攻撃が発生します

nginx によるクロスドメイン アクセスの構成方法

add_header 構文

    syntax:add_header 名の値 [常に];
  • default:—
  • context:http、server、location (場所にある場合)
  • 構文の説明:

    add_header name value [always];
  • name は応答ヘッダーによって返されるキーを表します
  • value応答ヘッダーを表します 返されたキーに対応する値
  • add_header クロスドメイン構成
  • location ~ .*\.(htm|html)$ {
      add_header access-control-allow-origin *;
      add_header access-control-allow-methods get,post,put,delete,options;
      root /opt/app/code;
    }
    ログイン後にコピー
アンチホットリンク


ホットリンク対策の目的

    #リソースの悪用を防ぎます。
  • 異常なユーザー アクセスの防止、Web サイトのリソースの占有、Web サイトのパフォーマンスへの影響、通常のユーザー アクセスへの影響は避けられません
http_referer に基づくアンチホットリンク構成モジュール

ngx_http_referer_module モジュールは、「referer」ヘッダー フィールドに無効な値を持つリクエストがサイトにアクセスするのを防ぐために使用されます。

#例

valid_referers none blocked server_names
 
        *.example.com example.* www.example.org/galleries/
 
        ~\.google\.;
 
if ($invalid_referer) {
 
  return 403;
 
}
ログイン後にコピー

#referer_hash_bucket_size 構文

##構文: Referer_hash_bucket_size サイズ;

#デフォルト: Referer_hash_bucket_size 64;
  • コンテキスト: サーバー、ロケーション
  • 構文説明:
  • referer_hash_bucket_size size; 設定がis valid 参照ハッシュテーブルのストレージサイズ。

  • referer_hash_max_size 構文

構文: Referer_hash_max_size サイズ;

デフォルト: Referer_hash_max_size 2048;
  • context: サーバー、場所
  • 構文の説明:
  • referer_hash_max_size size; 有効なリファラー ハッシュ テーブルの最大サイズを設定することを意味します。

  • #valid_referers 構文


構文: valid_referers なし | ブロック | サーバー名 | 文字列 ...;

デフォルト: —

  • #コンテキスト: サーバー、場所

  • ## 構文の説明:
  • #valid_referers none |blocked |server_names | string ...;
  • none は、リクエスト ヘッダーに「referer」フィールドが欠落していることを示します;

ブロックされたとは、「referer」フィールドがリクエスト ヘッダーに表示されるが、その値がファイアウォールまたはプロキシ サーバーによって削除されたことを意味します。これらの値は、「http://」または「」で始まらない文字列です。 https://";
  • server_names は、「referer」リクエスト ヘッダー フィールドにサーバー名が含まれていることを意味します。
  • string は、サーバー名を定義することを意味しますおよびオプションの URI プレフィックス。サーバー名の先頭または末尾に「*」を含めることができます。 「リファラー」フィールドのサーバー ポートはチェック中に無視されました;
  • アンチホットリンクの小規模なケース
  • touch test_referer。 html (/op/app/code ディレクトリ内)
  • <html>
    <head>
      <meta charset="utf-8">
      <title>imooc1</title>
    </head>
    <body style="background-color:red;"><br data-filtered="filtered">   <h1>张彪</h1>
      <img  src="http://192.168.1.112/wei.png"/ alt="Nginx クロスドメイン アクセスとアンチリーチングを構成する方法" >
    </body>
    </html>
    ログイン後にコピー

アンチホットリンク設定が www.zhangbiao.com ドメイン名から転送されていない場合、エラーが発生します。報告される

location ~ .*\.(jpg|gif|png)$ {
  valid_referers none blocked www.zhangbiao.com;
  if ($invalid_referer) {
    return 403;
  }
  root /opt/app/code/images;
}
location ~ /test_refer.html {
  root /opt/app/code;
 
}
ログイン後にコピー
アクセス
http://192.168.1.112/test_refer.html
ログイン後にコピー

##アクセス

http://www.zhangbiao.com/test_refer.html
ログイン後にコピー

Nginx クロスドメイン アクセスとアンチリーチングを構成する方法

他のWebサイトによるあなたのアクセスを許可するWeb サイトのリソース構成

Nginx クロスドメイン アクセスとアンチリーチングを構成する方法

以上がNginx クロスドメイン アクセスとアンチリーチングを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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