リファラルスパムをブロック

次の例は、の設定方法を示しています Fastly エッジディクショナリ カスタム VCL スニペットを使用して、クラウドインフラストラクチャサイト上のAdobe Commerceからの紹介スパムをブロックします。

NOTE
カスタム VCL 設定をステージング環境に追加して、実稼動環境に対して実行する前にテストできるようにすることをお勧めします。

前提条件:

  • Fastly CDN を使用するように環境を設定する必要があります。 参照: Fastly サービスの設定.

  • Magento 2 の Fastly CDN モジュールが最新バージョンであることを確認してください。 参照: Fastly モジュールのアップグレード.

  • Fastly サービスの環境設定を確認します。 参照: Fastly キャッシュを確認する.

  • ステージング環境と実稼動環境にアクセスするには、管理者資格情報が必要です。

  • サイトのログで偽のリファラル URL を確認し、ブロックするドメインのリストを作成します。

リファラーブロックリストの作成

Edge Dictionaries は、VCL スニペットの処理中に、VCL 関数からアクセス可能なキーと値のペアを作成します。 この例では、ブロックするリファラー web サイトのリストを提供するエッジ辞書を作成します。

  1. ログイン を管理者に送信します。

  2. クリック ストア > 設定 > 設定 > 詳細 > システム.

  3. を展開 フルページキャッシュ > Fastly 設定 > エッジ辞書.

  4. 辞書コンテナの作成:

    • クリック コンテナを追加.

    • コンテナ ページ、a を入力 辞書名referrer_blocklist.

    • を選択 変更後にアクティベート 編集中の Fastly サービス設定のバージョンに変更をデプロイする場合。

    • クリック Upload をクリックして、Fastly サービス設定に辞書を添付します。

  5. ブロックするドメイン名のリストをに追加 referrer_blocklist 辞書:

    • の「設定」アイコンをクリックします referrer_blocklist 辞書。

    • キーと値のペアを新しい辞書に追加して保存します。 この例では、 キー は、ブロックするリファラー URL のドメイン名です。 等しい true.

      不正なリファラー辞書項目を追加

    • クリック キャンセル 「システム設定」ページに戻ります。

  6. クリック 設定を保存.

  7. ページ上部の通知に従ってキャッシュを更新します。

Edge 辞書について詳しくは、 Edge 辞書の作成と使用 および カスタム VCL スニペット を Fastly のドキュメントで確認できます。

リファラースパムをブロックするカスタム VCL スニペットの作成

次のカスタム VCL スニペットコード(JSON 形式)は、リクエストをチェックしてブロックするロジックを示しています。 VCL スニペットは、リファラー web サイトのホストをヘッダーに取り込み、ホスト名をの中の URL のリストと比較します。 referrer_blocklist 辞書。 ホスト名が一致する場合、リクエストは次のコードでブロックされます。 403 Forbidden エラー。

{
  "name": "block_bad_referrer",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "set req.http.Referer-Host = regsub(req.http.Referer, \"^https?:\/\/?([^:\/s]+).*$\", \"\\1\"); if (table.lookup(referrer_blocklist, req.http.Referer-Host)) { error 403 \"Forbidden\"; }"
}

この例に基づいてスニペットを作成する前に、値を確認して、変更が必要かどうかを判断してください。

  • name — VCL スニペットの名前。 この例では、を使用します block_bad_referrer.

  • dynamic – 値 0 はを示します。 標準スニペット を Fastly 設定用のバージョン付き VCL にアップロードします。

  • priority - VCL スニペットを実行するタイミングを指定します。 優先度は次のとおりです 5 デフォルトのMagentoVCL スニペットの前にこのコードを実行するには、次の手順に従います(magentomodule_*)に優先度 50 を割り当てました。 各カスタムスニペットの優先度を、スニペットを実行するタイミングに応じて 50 より高くまたは低く設定します。 優先度の低いスニペットが最初に実行されます。

  • type - VCL バージョンにスニペットを挿入する場所を指定します。 この例では、VCL スニペットは recv スニペット。 スニペットが VCL バージョンに挿入されると、に追加されます。 vcl_recv デフォルトの Fastly VCL コードの下および任意のオブジェクトの上のサブルーチン。

  • content – 改行なしで 1 行で実行する VCL コードのスニペット。

環境のコードを確認して更新した後、次のいずれかの方法を使用して、カスタム VCL スニペットを Fastly サービス設定に追加します。

カスタム VCL スニペットの追加

  1. ログイン を管理者に送信します。

  2. クリック ストア > 設定 > 設定 > 詳細 > システム.

  3. を展開 フルページキャッシュ > Fastly 設定 > カスタム VCL スニペット.

  4. クリック カスタムスニペットの作成.

  5. VCL スニペットの値を追加します。

    • 名前block_bad_referrer

    • タイプrecv

    • 優先度5

    • VCL スニペットコンテンツ —

      code language-conf
      set req.http.Referer-Host = regsub(req.http.Referer,
      "^https?://?([^:/\s]+).*$", "1");
      if (table.lookup(referrer_blocklist, req.http.Referer-Host)) {
        error 403 "Forbidden";
      }
      
  6. クリック 作成.

    カスタム リファラーブロック VCL スニペットの作成

  7. ページの再読み込み後、 Fastly への VCL のアップロード が含まれる Fastly 設定 セクション。

  8. アップロードが完了したら、ページ上部の通知に従ってキャッシュを更新します。

Fastly は、アップロード処理中に更新された VCL バージョンを検証します。 検証に失敗した場合は、カスタム VCL スニペットを編集して問題を修正します。 次に、VCL を再度アップロードします。

NOTE
カスタム VCL スニペットを手動でアップロードする代わりに、スニペットを $MAGENTO_CLOUD_APP_DIR/var/vcl_snippets_custom 環境内のディレクトリ。 クリックすると、このディレクトリ内のスニペットが自動的にアップロードされます vcl の Fastly へのアップロード Commerce Admin. 参照: カスタム VCL スニペットの導入を自動化 Magento 2 用 Fastly CDN モジュールのドキュメントを参照してください。

カスタム VCL スニペットの変更

  1. ログイン を管理者に送信します。

  2. クリック ストア > 設定 > 設定 > 詳細 > システム.

  3. を展開 フルページキャッシュ > Fastly 設定 > カスタム VCL スニペット.

    カスタム VCL スニペットの管理

  4. が含まれる アクション 列で、編集するスニペットの横にある「設定」アイコンをクリックします。

  5. ページの再読み込み後、 Fastly への VCL のアップロード が含まれる Fastly 設定 セクション。

  6. アップロードが完了したら、ページ上部の通知に従ってキャッシュを更新します。

WARNING
この カスタム VCL スニペット UI オプションには、Adobe Commerce管理者を通じて追加されたスニペットのみが表示されます。 Fastly API を使用してスニペットを追加する場合は、API を使用して以下を行います それらを管理.

カスタム VCL スニペットの削除

  1. ログイン を管理者に送信します。

  2. クリック ストア > 設定 > 設定 > 詳細 > システム.

  3. を展開 フルページキャッシュ > Fastly 設定 > カスタム VCL スニペット.

    カスタム VCL スニペットの管理

  4. が含まれる アクション 列で、削除するスニペットの横にあるごみ箱アイコンをクリックします。

  5. 次のモーダルウィンドウで、 DELETE 新しいバージョンをアクティブ化します。

WARNING
この カスタム VCL スニペット UI オプションには、Adobe Commerce管理者を通じて追加されたスニペットのみが表示されます。 Fastly API を使用してスニペットを追加する場合は、API を使用して以下を行います それらを管理.
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26