フォームのスパム対策

:ref:`Cloudflare Turnstile <website/spam_protection/cloudflare-turnstile>`と:ref:`Google reCAPTCHA v3 <website/spam_protection/google-recaptcha>`は、スパムや悪用からウェブサイトフォームを保護します。テレメトリと訪問者の行動に基づく非対話型チャレンジを使用して、人間とボットの送信を区別しようとします。

重要

**Cloudflare Turnstile**の使用を推奨します。reCAPTCHA v3は地域のデータ保護規制に準拠していない可能性があります。

注釈

フォームニュースレターブロック、または:guilabel:`ニュースレターポップアップ`スニペットを使用しているすべてのページは、両方のツールによって保護されます。ウェブログイン、サインアップ、パスワードリセットページも保護されます。

Cloudflare Turnstileの設定

Cloudflareで

  1. `Cloudflareアカウントを作成<https://dash.cloudflare.com/sign-up>`_するか、`ログイン<https://dash.cloudflare.com/login>`_してください。

  2. ダッシュボードのナビゲーションサイドバーで、:menuselection:`Application security --> Turnstile`に移動します。

  3. 概要`ページで、:icon:`fa-plus :guilabel:`ウィジェットを追加`をクリックします。

  4. :guilabel:`ウィジェット名`を追加して、簡単に識別できるようにします。

  5. :guilabel:`ホスト名を追加`をクリックし、カスタムホスト名(例:example.com*または*subdomain.example.com)を入力してから、:guilabel:`追加`を2回クリックします。

  6. :guilabel:`ウィジェットモード`を選択します:

    • :guilabel:`マネージド`モードを**推奨**します。これにより、Turnstileは必要に応じて訪問者に人間であることの確認を求めることができます。

      Cloudflare Turnstileの人間確認ウィジェット
    • :guilabel:`非対話型`および:guilabel:`非表示`モードでは、訪問者に操作を求めるプロンプトは表示されません。:guilabel:`非対話型`モードでは、Turnstileがフォームを保護していることを訪問者に警告する読み込みウィジェットを表示できますが、このウィジェットはOdooではサポートされていません。

      注釈

      Turnstileチェックが失敗すると、訪問者はフォームを送信できず、次のエラーメッセージが表示されます:

      Cloudflare Turnstile検証エラーメッセージ
  7. :guilabel:`作成`をクリックします。

生成されたキーが表示されます。次にOdooでキーをコピーする必要があるため、ページは開いたままにしておくと便利です。

Odooで

  1. データベースダッシュボードから**設定**アプリを開きます。:guilabel:`統合`の下で、:guilabel:`Cloudflare Turnstile`を有効にし、:guilabel:`保存`をクリックします。

  2. :ref:`Cloudflare Turnstile <website/spam_protection/cloudflare>`ページを開き、:guilabel:`サイトキー`をコピーして、Odooの:guilabel:`CFサイトキー`フィールドに貼り付けます。

  3. Cloudflare Turnstileページを開き、:guilabel:`秘密鍵`をコピーして、Odooの:guilabel:`CF秘密鍵`フィールドに貼り付けます。

  4. 保存 をクリックします。

ちなみに

Cloudflareアカウントで:menuselection:`Application security --> Turnstile`に移動して、:guilabel:`分析を表示`し、追加設定にアクセスします。

reCAPTCHA v3の設定

警告

reCAPTCHA v3は、現地のデータ保護規制に準拠していない場合があります。

Googleで

  1. `Googleアカウントにサインアップ<https://accounts.google.com/signup>`_するか、`サインイン<https://accounts.google.com/signin>`_してください。

  2. `reCAPTCHAウェブサイト登録ページ<https://www.google.com/recaptcha/admin/create>`_を開きます。

  3. ウェブサイトの:guilabel:`ラベル`(例:example.com)を入力します。

  4. :guilabel:`reCAPTCHAタイプ`は:guilabel:`スコアベース(v3)`のままにします。

  5. 1つ以上の:guilabel:`ドメイン`を入力します(例:example.com*または*subdomain.example.com)。

  6. :guilabel:`Google Cloud Platform`の下で、プロジェクトが自動的に作成されるか、ログインしているGoogleアカウントに既存のプロジェクトがある場合は選択されます。フィールドをクリックして手動でプロジェクトを選択するか、自動的に作成されたプロジェクトの名前を変更します。

  7. 利用規約に同意します。

  8. :guilabel:`送信`をクリックします。

生成されたキーが表示されます。次にOdooでキーをコピーする必要があるため、ページは開いたままにしておくと便利です。

Odooで

  1. データベースダッシュボードから**設定**アプリを開きます。:guilabel:`統合`の下で、:guilabel:`reCAPTCHAを有効化`をアクティブにします。

    警告

    :guilabel:`Google reCAPTCHA統合`モジュールをアンインストールしないでください。他の多くのモジュールも削除されてしまいます。

  2. :ref:`Google reCAPTCHA <website/spam_protection/google-recaptcha>`ページを開き、:guilabel:`サイトキーをコピー`をクリックして、Odooの:guilabel:`サイトキー`フィールドに貼り付けます。

  3. Google reCAPTCHAページを開き、:guilabel:`シークレットキーをコピー`をクリックして、Odooの:guilabel:`シークレットキー`フィールドに貼り付けます。

  4. 必要に応じて、デフォルトの:guilabel:最小スコア`(`0.70)を`0.00`から`1.00`の間の値で変更してください。しきい値が高いほどreCAPTCHAの通過が難しくなり、逆も同様です。

  5. 保存 をクリックします。

reCAPTCHAが:ref:`フォーム <website/building_blocks/form>`を保護していることを訪問者に通知できます。通知するには、フォームに移動してウェブサイトエディタを開きます。次に、フォーム上のどこかをクリックし、:guilabel:`スタイル`タブに移動して、:guilabel:`ブロック`セクションで:guilabel:`reCAPTCHAポリシーを表示`を有効にします。

フォームに表示されるreCAPTCHAポリシーメッセージ

注釈

reCAPTCHAチェックが失敗すると、次のエラーメッセージが表示されます:

Google reCAPTCHA検証エラーメッセージ

ちなみに

分析と追加設定は`GoogleのreCAPTCHA管理ページ <https://www.google.com/recaptcha/admin/>`_で利用できます。たとえば、Googleがウェブサイトで不審なトラフィックを検出した場合にメールアラートを受信したり、不審なリクエストの割合を確認したりできます。これは、適切な最小スコアを決定するのに役立ちます。