7. スパム対策と reCAPTCHA
迷惑送信やBot投稿への対策を強化したい
SPWForm本体には、設定なしで動く基本的なスパム対策と、フォームごとに任意で追加できる Google reCAPTCHA v2 / v3 が用意されています。
標準で有効になるスパム対策
次の2つは、reCAPTCHAを設定していないフォームでも自動的に動作します。
- ハニーポット:通常の利用者には見えない入力欄を使い、自動Botによる投稿を判定します。
- 送信回数制限:同じ送信元から短時間に繰り返される送信を制限します。初期値は60秒間に5回までです。
通常の問い合わせフォームは、まず標準の対策で運用を開始できます。迷惑送信が多い場合や、より強い対策が必要な場合にreCAPTCHAを追加してください。
同一の会社や施設など、複数の利用者が同じネットワークを共有している環境では、短時間に送信が集中すると回数制限の案内が表示されることがあります。
reCAPTCHAで選べる方式
| 方式 | 画面上の動作 | 向いているケース |
|---|---|---|
| reCAPTCHA v2(チェックボックス) | 利用者が「私はロボットではありません」を操作します。 | 判定方法を利用者にも分かりやすく見せたい場合。 |
| reCAPTCHA v3 | チェック操作を表示せず、Googleがスコアで判定します。 | フォームの操作を増やさずに対策したい場合。 |
v3の初期スコア閾値は 0.5 です。値を高くすると判定は厳しくなりますが、正規の送信も止まりやすくなるため、運用状況を見ながら調整してください。
設定手順
- Google reCAPTCHAの管理画面で、利用するサイトのドメインを登録します。
- reCAPTCHA v2またはv3を選び、Site KeyとSecret Keyを取得します。
- WordPress管理画面で、対象のSPWFormを編集します。
- [reCAPTCHA] (設定ボックス) の「reCAPTCHAを有効化」にチェックを入れます。
- Google側で選んだものと同じ種類を選び、Site KeyとSecret Keyを入力します。
- v3を使う場合は、必要に応じてスコア閾値を調整します。
- フォームを更新し、入力画面から実際にテスト送信します。
reCAPTCHAは確認画面の有無にかかわらず利用できます。v2では確認画面にチェックボックスが表示され、v3では送信時に取得したトークンをGoogle側で検証します。
キーを設定するときの注意点
- v2用とv3用のキーは互換ではありません。SPWFormで選ぶ種類と、Google側で発行したキーの種類を合わせます。
- Google側に登録するドメインへ、実際にフォームを設置するドメインを追加します。
- Site KeyとSecret Keyの両方が必要です。Secret Keyは公開ページへ直接記載しないでください。
- 設定後は、入力画面・確認画面・送信完了までを通したテストを行います。
外部サービスとプライバシー
reCAPTCHAを有効にしたフォームでは、訪問者のブラウザがGoogleのreCAPTCHA JavaScript APIを読み込みます。送信時には、reCAPTCHAの応答トークン、設定したSecret Key、訪問者のIPアドレスをGoogleの検証APIへ送信します。
SPWFormがGoogleの検証APIへフォーム入力内容を送信することはありません。reCAPTCHAの利用にはGoogleの利用規約とプライバシーポリシーが適用されるため、サイトのプライバシーポリシーにも利用状況を記載してください。
送信できないときの確認ポイント
- reCAPTCHAが有効なのにSite KeyまたはSecret Keyが空になっていないか。
- SPWFormで選んだv2 / v3と、発行したキーの種類が一致しているか。
- Google側の許可ドメインに、現在のサイトのドメインが登録されているか。
- セキュリティ機能やコンテンツセキュリティポリシーがGoogleのスクリプトや通信を止めていないか。
- v3のスコア閾値を高くしすぎていないか。