メインコンテンツまでスキップ

スパム対策

Form Plant は 多層防御 の考え方でスパム対策を提供しています。単一の手段に頼らず、複数の防御層を組み合わせて運用するのが推奨です。

すべてを同時に有効にする必要はありません。初期設定のままでも軽量な対策 (Honeypot や時間ベース検証) が動作する ため、まずは何もしなくても一定のスパム耐性が得られます。スパムが増えてきたら、reCAPTCHA や Turnstile を追加していく、といった段階的な導入が可能です。

利用できる対策

1. Honeypot (ハニーポット)

人間の目には見えず、ボットだけが入力してしまう「おとりフィールド」を仕込む手法です。Form Plant ではこのフィールド名自体を難読化しているため、ボットからは通常のフィールドと見分けがつきにくく、誤爆も抑えられます。

  • 利用者側で特別な設定は不要
  • 既定で有効

2. 時間ベースの検証

フォームが表示されてから送信されるまでの時間を計測し、人間の入力速度として不自然に短い送信を自動で弾きます。

  • 最小送信秒数 (例: 3 秒) を設定可能
  • 一般的なフォーム入力時間を下回るボット送信を弾く

3. IP レート制限

同一 IP アドレスからの連続送信を抑制します。一斉送信型のスパムボットに有効です。

  • 一定時間内の送信回数上限を設定
  • 制限を超えると一定時間送信不可になる

4. 使い捨てメールアドレスのブロック

公開されている使い捨てメールサービスのドメインリストをプラグインに同梱し、該当ドメインからの送信をブロックします。

  • リスト確認のための 外部通信は発生しません (オフラインで動作)
  • リスト元: disposable-email-domains (CC0 1.0)

5. Google reCAPTCHA v2 / v3

チェックボックス型 (v2) と、スコアベースで裏側で判定する v3 の両方に対応しています。

バージョン利用者の操作特徴
v2 Checkbox「私はロボットではありません」のチェック確実だが操作が必要
v3 Score-based操作不要UX を損なわない
  • 利用には Google reCAPTCHA のサイトキーとシークレットキーが必要 (https://www.google.com/recaptcha/)
  • 有効化すると Google の reCAPTCHA JavaScript をフォームページで読み込みます
  • 送信時にトークンを Google サーバーに送り、判定結果を受け取ります
  • 訪問者の IP アドレスやブラウザ情報が Google に送られる点はプライバシーポリシーで明記してください

6. Cloudflare Turnstile

Google reCAPTCHA に代わる軽量な選択肢として、Cloudflare アカウントだけで導入できる Turnstile に正式対応しています。

  • 利用には Cloudflare の Site Key と Secret Key が必要 (https://www.cloudflare.com/products/turnstile/)
  • 有効化すると Cloudflare の Turnstile JavaScript を読み込みます
  • 送信時にトークンを Cloudflare サーバーに送り、判定結果を受け取ります

推奨される段階的導入

  1. 何もしない — 既定の Honeypot + 時間ベース検証だけで軽量なスパムは弾ける
  2. 使い捨てメールブロックを追加 — 外部通信なし、設定のみで効果あり
  3. IP レート制限 — 連続送信が増えてきたら
  4. reCAPTCHA v3 または Turnstile — 巧妙なスパムが届くようになったら

設定場所

WordPress 管理画面の 「Form Plant」→ 対象のフォーム → 「フォーム設定」 → 「スパム対策」 タブから各機能のオン/オフと詳細設定が可能です。

プライバシーへの注意

reCAPTCHA や Turnstile を有効化する場合、訪問者のデータが Google または Cloudflare に送信されます。サイトのプライバシーポリシーに以下のような記載を追加することを推奨します。

  • 利用しているサードパーティサービス名
  • 送信されるデータ (IP アドレス・ブラウザ情報・操作ログ等)
  • 各サービスのプライバシーポリシーへのリンク

reCAPTCHA / Turnstile の どちらも無効 の場合は、Google や Cloudflare との外部通信は一切発生しません。