前書き
Web-to-LeadフォームやPardotフォームにはreCAPTCHA機能がOOTBであるが、フォームハンドラーには存在しない。
そのため、Bot対策(スパム対策)を行っていないフォームを公開すると、エンドポイントを狙って大量にスパムが送信されるリスクがある(※筆者実体験)
取り得る対策
- メール項目の設定で、有効なメールアドレスの条件をタイトにする
- ハニーポット項目を追加する
- reCAPTCHAの設定を追加する
- フォームデータ送信をサーバーサイドで行う
- フォームハンドラーを再作成する
詳細
■メール項目の設定で、有効なメールアドレスの条件をタイトにする
メール項目のデータ形式を「有効なメールサーバーからのメール」や「ISPや無料のメールプロバイダ以外からのメール」に変更する対策方法。
後者の場合、個人からの問い合わせを弾いてしまう可能性があるため要注意。
■ハニーポット項目を追加する
BOTにトラップを仕掛ける対策方法。
設定方法は「外部フォームへのハニーポット項目の追加」を参照。
■reCAPTCHAの設定を追加する
自身でreCAPTCHAを設定する対策方法。
基本的にはこれを必ず設定しておくことが望ましい。
■フォームデータ送信をサーバーサイドで行う
任意の外部サーバー経由でフォームデータを送信する仕組みにすることで、(フロントのコードしか読み取れない)Botからエンドポイントを隠すという対策方法。
要開発
■フォームハンドラーを再作成する
上記全てを突破され、BOTにスパム対象のエンドポイントとして登録されてしまった場合は、フォームハンドラーを再作成し、エンドポイントを更新する必要がある。
参考
■PardotフォームへのreCAPTCHA設定
■Web-to-LeadフォームへのreCAPTCHA設定