問い合わせフォームに迷惑な送信が来るとき|スパムの防ぎ方
問い合わせフォームを公開してしばらくすると、英語の意味の通らない文章、リンクだらけの宣伝、そして「御社のホームページを拝見しました」で始まる営業の案内が届くようになります。1日に何十件も届くと、本物の問い合わせが埋もれ、見落としが起きかねません。
迷惑な送信は、送ってくる相手によって効く対策が違います。機械が自動で送ってくるものと、人が手で送ってくる営業とでは、止め方がまったく別です。この記事では、届いている送信を種類で見分ける方法、種類ごとの対策、よく比べられる reCAPTCHA と Turnstile の違い、入れる順番、本物の問い合わせを落とさないための確かめ方をまとめます。
フォームの項目の決め方は問い合わせフォームの項目の決め方で、反対に「本物の問い合わせが届かない」ときの原因は問い合わせフォームのメールが届かないときの原因と直し方で説明しています。
届いている送信を3つに分ける
まず、この1か月ほどに届いた迷惑な送信を見返し、次の3つのどれが多いかを確かめます。
| 種類 | 見分け方 | 効きやすい対策 |
|---|---|---|
| 機械による大量の送信 | 英語や意味の無い文字列、同じ文面の連続、本文にリンクがたくさん、名前の欄にURL | 機械かどうかの判定、見えない入力欄、内容での振り分け |
| 人が送る営業 | 日本語で丁寧、会社名と担当者名がある、サービスの売り込み | 営業お断りの表記、用件の選択、運用での振り分け |
| 攻撃をねらった送信 | 入力欄に記号や命令のような文字列、意味の通らない長い文字 | フォームそのものの安全の対策(制作会社や保守の担当に相談) |
いちばん数が多いのは、たいてい1つめの機械による送信です。ここを減らすだけで、受信箱はかなり静かになります。
英語のスパムが届く理由
英語の意味の無い送信が届くと「何か狙われているのでは」と心配になりますが、多くの場合は違います。世界中のサイトを自動で巡回し、入力欄のあるページを見つけては宣伝の文を送り続けるプログラムがあり、相手は特定の会社ではなく「フォームがあるページ」です。
人が読んでいるわけではないので、返信しても止まりません。返信はせず、仕組みで入り口を狭めます。
機械による送信を減らす対策
対策は1つだけに頼らず、2〜3を組み合わせるのが現実的です。
| 対策 | しくみ | お客様の手間 | 入れ方の目安 |
|---|---|---|---|
| 機械かどうかの判定 | 送信のときに、操作の様子などから機械らしさを判定する | ほとんど無い | フォームの部品の設定で入れられることが多い |
| 見えない入力欄 | 人には見えない欄を置き、そこに何か入っていたら機械とみなす | 無い | フォームの部品の機能や設定で |
| 内容での振り分け | 本文や送信元から迷惑なものを判定し、別の扱いにする | 無い | 迷惑な送信を見分けるサービスとつなぐ |
| 禁止する語の一覧 | 決めた語や送信元が入っていたら受け付けない | 無い | 管理画面の設定で |
| 送信の回数の制限 | 同じところから短い間に何度も送れないようにする | 無い | サーバーやフォームの設定で |
WordPress でよく使われる問い合わせフォームの部品 Contact Form 7 では、reCAPTCHA と Turnstile の両方とつなぐ機能があり、迷惑な送信を見分けるサービス Akismet との連携や、WordPress の「ディスカッション」の設定にある禁止する語の一覧を使って特定の語や送信元を受け付けない設定も案内されています。使っているフォームの部品で何ができるかを、まず制作会社や保守の担当に確かめるのが近道です。
日本語を含まない送信を受け付けない設定について
「日本語が1文字も無ければ受け付けない」という設定は、英語のスパムにはよく効きます。ただし、海外のお客様や取引先から英語で問い合わせが来る可能性がある会社では、本物の問い合わせまで落としてしまいます。入れる前に、英語の問い合わせが来る可能性を考えます。
reCAPTCHA と Turnstile の違い
機械かどうかを判定する仕組みとして、よく比べられるのが Google の reCAPTCHA と Cloudflare の Turnstile です。
| reCAPTCHA | Turnstile | |
|---|---|---|
| 提供元 | Cloudflare | |
| お客様の操作 | v3 は操作なしでスコア(機械らしさの点数)を返す。v2 は「私はロボットではありません」のチェックなど | 操作なし、または必要なときだけチェックを出す形を選べる |
| 無料の範囲 | Essentials の区分で、1 か月あたり 10,000 件の評価まで無料(組織ごとの合計) | 無料のプランがあり、判定の部品を 20 個まで作れる |
| 使う条件 | Google のキーを取り、フォームに設定する | Cloudflare の配信を通さなくても、どのサイトにも組み込める |
(2026年10月時点の各社の案内による。条件は変わることがあるため、入れる前に提供元のページで確かめてください)
どちらが優れているというより、使っているフォームの部品が対応しているかと、無料の範囲に収まるかで選ぶのが実務的です。無料の範囲は件数の数え方とあわせて、提供元の案内で確かめます。
注意したいのは、どちらも訪問者の操作や端末の情報を提供元に送って判定する仕組みだという点です。外部のサービスに情報を送る場合の公表の考え方はホームページの外部送信規律で説明しています。プライバシーポリシーや外部送信の公表のページに、使っている仕組みを書き足しておきます。
人が送る営業を減らす
人が手で送ってくる営業は、機械の判定では止まりません。次の工夫を組み合わせて、数と手間を減らします。
- フォームの近くに表記する:「営業・売り込みのご案内はお断りしています」と、送信ボタンの近くに書く。すべては止まりませんが、一定の抑えになります
- 用件を選ぶ欄を設ける:「ご依頼・ご相談」「お見積り」「採用」「その他」のように選ばせ、「その他」を後回しに読む
- 返信しない:返信すると「読まれるアドレス」として営業先の一覧に残りやすくなります
- 取引先向けの窓口を分ける:営業や提案を受けたい場合は、専用のアドレスやページを別に用意し、問い合わせフォームと分ける
対策を入れる順番
- 1か月分を数える:迷惑な送信を3つの種類に分けて、どれが多いかを数える
- 機械の判定を入れる:フォームの部品が対応している仕組みを1つ入れる
- 見えない入力欄と内容での振り分けを足す:それでも残る分を減らす
- 本物が届くか試す:パソコンとスマートフォンの両方から、社外のアドレスで試しに送る
- 2週間後に見直す:減り方を見て、禁止する語の一覧や表記を足す
4 を飛ばすと、判定が厳しすぎて本物のお客様が送れない状態に気づけません。対策を変えたら、必ず試しに送ります。
やりがちな失敗
-
良くない例:フォームをやめて、メールアドレスをページにそのまま載せる
-
良い例:フォームは残し、判定の仕組みを入れる。アドレスを載せると、今度はメールに迷惑な送信が直接届くようになります
-
良くない例:自動返信のメールに、送られてきた本文をそのまま載せる
-
良い例:自動返信は「受け付けました」と次の流れだけにする。他人のアドレスを入れて送られると、その人に迷惑な内容が届いてしまうおそれがあります
-
良くない例:迷惑メールのフォルダを見ない
-
良い例:週に1回は迷惑メールのフォルダを開き、本物の問い合わせが紛れていないか確かめる
フォームは外からの入力を受け付ける仕組みなので、作り方によっては攻撃の入り口にもなります。入力欄に見慣れない記号や命令のような文字列が続けて届くときは、IPA(情報処理推進機構)の「安全なウェブサイトの作り方」にある対策がとられているかを、制作会社や保守の担当に確かめてもらいます。改ざんへの備えはホームページの改ざん対策にまとめています。
まとめ
- 迷惑な送信は、機械による送信・人が送る営業・攻撃をねらった送信の3つに分けて考える
- 機械による送信には、機械かどうかの判定・見えない入力欄・内容での振り分けを組み合わせる
- reCAPTCHA と Turnstile は、フォームの部品の対応と無料の範囲で選び、外部送信の公表も忘れない
- 人が送る営業は、表記と用件の選択、返信しない運用で減らす
- 対策を変えたら、本物の問い合わせが届くかを必ず試す
Lapisデザインラボの月額のサイト保守では、問い合わせフォームが届くかの定期的な確認も作業に含めています。内容はサイト保守・更新をご覧ください。
よくある質問
英語のスパムばかり届くのはなぜですか。
世界中のサイトのフォームを自動で探して送り続けるプログラムがあり、狙われているのは特定の会社ではなく「入力欄があるページ」です。人が見ているわけではないため、機械かどうかを判定する仕組みや見えない入力欄が効きます。
reCAPTCHAとTurnstileは、どちらを選べばよいですか。
どちらも機械による送信を判定する仕組みで、多くの場合はお客様に操作をさせずに使えます。reCAPTCHAはGoogle、TurnstileはCloudflareが提供しています。無料で使える範囲や使っているフォームの部品が対応しているかで選び、どちらを使う場合も、訪問者の情報が提供元に送られることをプライバシーポリシーなどで示します。
人が送ってくる営業の案内は、仕組みで止められますか。
機械の判定は人が手で送る営業には効きにくいため、完全には止められません。フォームの近くに営業の案内はお断りしている旨を書く、用件を選ぶ欄を設けて振り分ける、といった運用の工夫と組み合わせて減らします。
参考にした資料
- reCAPTCHA のタイプを選択する|Google for Developers
- Google Cloud Fraud Defense の各ティア間の機能を比較する|reCAPTCHA|Google Cloud Documentation
- Cloudflare Turnstile|Cloudflare Docs
- Turnstile Plans|Cloudflare Docs
- Cloudflare Turnstile integration|Contact Form 7
- Spam filtering with Akismet|Contact Form 7
- Disallowed list|Contact Form 7
- 安全なウェブサイトの作り方|IPA