reCAPTCHA は、フォーム送信やログイン画面などで、アクセスが人によるものか、ボットによるものかを判定しやすくする仕組みです。
初心者向けにかなりざっくり言うと、問い合わせフォームへ機械的な送信が来ていないかを見分ける補助 と考えると入りやすいです。
ただし、reCAPTCHA を入れたからすべてのスパムが止まるわけではありません。
実務では、honeypot、送信回数制限、入力検証、通知設計と組み合わせて使うことが多いです。
問い合わせフォームでの考え方は、メールフォームのスパム対策は何をやるべき?reCAPTCHAだけで十分かを整理 の記事でも詳しく整理しています。
どんな場面で使うか
reCAPTCHA は、問い合わせフォーム、会員登録、ログイン、コメント投稿、資料請求フォームのように、ボットからの送信が問題になりやすい場所で使われます。
特に、公開されたフォームはスパム送信の対象になりやすいので、何らかの対策を入れておく方が安全です。
ただし、フォームごとに必要な強さは違います。
個人ブログのお問い合わせフォームと、会員登録や決済に関係するフォームでは、守るべきものも、誤判定時の影響も変わります。
実務での組み合わせ
reCAPTCHA だけに頼るのではなく、サーバー側の入力検証、送信回数制限、Honeypot、ログ確認、通知先の整理を組み合わせると安定します。
たとえば、短時間に同じ IP から大量送信された場合は制限する、通常は空になる項目が埋まっていたら弾く、本文が不自然に短すぎる場合は確認対象にする、といった設計です。
また、管理者に届く通知メールも重要です。
スパムが大量に届くと、本当に必要な問い合わせを見落としやすくなるため、フォーム対策はセキュリティだけでなく運用の問題でもあります。
注意点
reCAPTCHA は便利ですが、ユーザー体験を悪くする場合があります。
判定が厳しすぎると、本物の利用者が送信できなかったり、何度も確認を求められて離脱したりすることがあります。
そのため、フォームの重要度に応じて対策を調整するのが現実的です。
軽い問い合わせフォームなら Honeypot と回数制限を中心にし、攻撃や不正登録の影響が大きい画面では reCAPTCHA も含めて多層化する、といった考え方ができます。