お問い合わせフォームのスパム対策|ボット・迷惑投稿を減らす実装と運用のポイント
お問い合わせフォームや資料請求フォームに、海外からの宣伝リンクや意味不明な投稿が大量に届くケースが増えています。本記事では、業種を問わず活用できるスパム対策の考え方を、「技術的対策」と「運用面の工夫」に分けて見ていきます。
この記事の対象読者
・問い合わせフォームにスパムが多く、対応工数が増えている企業・施設
・reCAPTCHA 以外の軽量なスパム対策も検討したい担当者
・医療・学校・ホテル・物流など、業種別ページとは別に横断的なポリシーをまとめておきたいご担当者
お問い合わせフォームに届くスパムの種類
スパムと言っても、いくつかのタイプがあります。
- 海外ボットによる英文の宣伝メッセージ
- 日本語の迷惑営業(自動送信ツールによる一括投稿)
- 同一IPからの大量連投・テスト投稿
- フォームを経由した不正リンクのばらまき(URLだらけの本文)
どのタイプも、対応側の工数増大・重要な問い合わせの見落とし・担当者のストレス増加につながります。
技術的なスパム対策の基本
1. 入力チェックと文字種の制限
最初の一歩として、次のような入力チェックを実装しておくと、明らかなボット投稿をはじきやすくなります。
- 名前欄がURLや長文だけになっていないか
- 電話番号欄が数字以外だらけになっていないか
- 本文中のURL数が極端に多くないか
「URLが◯件以上含まれる場合はエラー」などのルールも有効です。ただし、業種によってはURL共有が必要なケースもあるため、業務フローと合わせて検討します。
2. honeypot(隠しフィールド)の活用
人間のユーザーには見えない入力欄(CSSで非表示)を1つ設置し、「ここに値が入っていればスパム」と判定する方法です。
- ボットは全てのフィールドに自動入力することが多い
- 人間のユーザーはそもそも見えないので何も入力しない
実装が軽く、reCAPTCHAよりもUXへの影響が小さいため、まず導入しておきたい対策の一つです。
3. reCAPTCHA(v2/v3)の導入
Google reCAPTCHA を利用すると、ボット判定の精度が上がります。
- v2:「私はロボットではありません」チェックボックス/画像認証
- v3:スコアに応じてサーバー側で判定(画面上のUIはほぼ不要)
ユーザー体験とのバランスを考えると、v3を採用してスコアが低い投稿だけ追加チェックを行う構成がよく使われます。
4. 送信回数制限(レートリミット)とIP制御
短時間に大量送信されるタイプのスパムには、送信回数制限が有効です。
- 同一IPからの送信を◯秒に1回までに制限する
- NGリストに登録したIPからの送信は受け付けない
一時的な攻撃の場合は、一定時間だけブロックする「一時BAN」の仕組みも検討できます。
UXを損ねないための工夫
1. スパム対策が“ユーザーへの負担”になりすぎないように
画像認証や難解なパズルは、スマホユーザーにとって大きなストレスになります。可能であれば、次のような順番で対策を積み上げるとバランスが取りやすくなります。
- honeypot + 入力チェックでまず軽量に防ぐ
- それでも多い場合に reCAPTCHA やレートリミットを追加
2. エラーメッセージは具体的に
スパムっぽい投稿をブロックした結果、一般ユーザーが弾かれてしまうこともゼロにはできません。その場合でも、理由が分かるようにしておくとクレームになりにくくなります。
- 「URLを含みすぎている可能性があります」
- 「短時間に複数回送信されたため、しばらく時間をおいて再度お試しください」
運用面でのスパム対策
1. ログから傾向を把握する
スパム対策は一度きりではなく、「どんな投稿が多いか」をログから把握しながらチューニングすることが重要です。
- どの時間帯に集中しているか
- 共通するドメインやIPはあるか
- 本文の特徴(特定の単語・URLパターン)はあるか
2. フィルタリングルールの定期見直し
スパム側も手口を変えてくるため、半年〜1年に一度はフィルタリングルールの見直しを行います。過剰なブロックで正常な問い合わせが弾かれていないかも確認します。
業種別によくあるスパムパターン
- 医療:SEO業者・広告代理店からの営業メールが集中しやすい
- 学校:留学・教育関連サービスからの営業、海外からの一括送信
- ホテル:海外旅行関連サイトからの営業、意味不明な宴会問い合わせ
- 物流:海外輸送業者・貿易関連の営業メールが多数届く
いずれの業種でも、「明らかに業務と関係ないキーワード」が含まれる投稿については、自動で判定できる余地があります。
まとめ
お問い合わせフォームのスパム対策は、「1つの万能な方法」ではなく、複数の対策を組み合わせていく発想が重要です。入力チェック・honeypot・reCAPTCHA・送信回数制限といった技術的な手段に加え、ログを見ながらルールを調整していく運用を組み合わせることで、ユーザー体験を損ねずにスパムを大幅に減らすことができます。
本記事は、Webシステム開発・スマホ自動変換「movo」・業務システム構築・フォームUX改善・EC支援を提供する
株式会社インテンスが、実際の開発プロジェクトで蓄積した知見をもとにまとめています。
株式会社インテンス(公式サイト)