スパム送信や悪意のある入力(SQLインジェクション、XSSなど)を防ぐため、以下の対策がよく取られます
目次
ホームページに設置したお問合せフォームへの攻撃、悪用が多発した場合の対策。
- reCAPTCHAの導入(GoogleのreCAPTCHA v2/v3など)
- フォームにバリデーションを設ける(サーバー側・クライアント側両方で)
- **送信回数制限(レートリミット)**を設定する
- IPアドレスでブロック・制限をかける(ブラックリスト、ジオブロック)
- **WAF(Web Application Firewall)**を利用してフィルタリングする
- 疑わしい投稿内容の自動判定と隔離(例えば特定ワード検知)
- honeypotフィールド(人間には見えない項目を設置し、ロボットによる自動入力を検出)
どの程度の攻撃(例えば「毎日数十件のスパム」「内容に悪意あるリンク」「サーバーへの負荷攻撃」など)が発生しているかによって、優先すべき対策も変わってきます。
特に多いの事例
自動返信機能を悪用したスパムメールの大量配信が確認されています。
「お問い合わせフォームの自動返信機能」を悪用して
スパムメールを大量にばらまかれている
これはかなり深刻です。特に以下のリスクがあります。
- サーバーがブラックリスト登録される(メールが届かなくなる)
- 自社の信用が毀損する
- サーバーやフォームのリソースが圧迫される
この状況への対策は、まず緊急・恒久の両面で整理できます。
【緊急対応】すぐにできること
✅ 自動返信メールを一時停止する
→ 誤送信リスクを即止めます。できればフォーム送信だけ受け付け、返信は手動対応。
✅ フォームにreCAPTCHAを設置する
→ Google reCAPTCHA v2(チェックボックス式)やv3(スコア式)で、ボットによる送信をブロックします。
✅ IPアドレス制限
→ 明らかに悪質なIPからのアクセスを遮断。
✅ 送信内容フィルターの導入
→ フォームから「リンクが大量に入っている」「不自然な文字列」が含まれる場合は弾く。
【恒久対応】中長期で行うべきこと
🔵 honeypotフィールドを追加
→ ボットだけが入力する隠しフィールドを用意し、入力されたら拒否。
🔵 レートリミット(1分に1回以上送信不可など)
→ 同一IP・同一ブラウザからの短時間連続送信を防ぐ。
🔵 自動返信対象を限定する
→ 「メールアドレスが正規のドメインのみ返信」「本文内容に応じて返信しない」など、フィルタをかける。
🔵 WAF導入
→ サイトにアプリケーションファイアウォールを設置して不審な通信自体をブロックする。