【AI活用】お問い合わせフォームを作ったら、2日でスパムが来たよ。「3たす1は?」が最強の門番になる話

AI活用

おはよう、後輩A君。

先週、ブログに「お問い合わせページ」を作ったんだよ。読者や企業から連絡をもらえる窓口で、ブログを続けていくなら持っておきたい定番のページだね。よし、これでうちのブログも一人前だ――と思っていたら。

公開からたった2日で、ロシア語の営業メールが3通届いたんだよ。今日はこの「フォームを公開したら世界から変なのが来た」事件と、たった1つの質問でそれを撃退した話をするよ。

1. 事件:公開2日で、ロシア語の営業が届いたんだよ

朝、メールを開いたら「さとみ機関車の後輩A君への伝言」からのお問い合わせ通知が3通。おっ、さっそく読者からの連絡かな?とワクワクして開いたら、全部ロシア語だったんだよ。

翻訳すると「成果報酬型のサイト宣伝はいかがですか」という営業文で、あやしいURLがべったり貼ってある。3通とも同じ差出人で、深夜から明け方にかけて数時間おきに届いていたんだよね。

ここで正直な感想を言うと、ちょっとゾッとしたんだよ。だって、うちは開設して数ヶ月の小さな日本語ブログだよ。それなのに、公開して48時間で、地球の裏側から営業が届く。「公開する」というのは、世界中の目に触れるということなんだと、身をもって実感したんだよね。

2. 犯人は人間じゃない。「ボット」なんだよ

でも、落ち着いて考えると分かるんだよ。ロシアの業者さんが、わざわざ日本の小さなブログを見つけて、手で入力したはずがないよね。

犯人はボット。インターネットを自動で巡回して、「お問い合わせフォーム」を見つけては営業文を流し込んでいく機械のプログラムなんだよ。人間はひとりも関わっていない。フォームという「ポスト」を見つけたら、中身も見ずにチラシを突っ込んでいく配達ロボットみたいなものだね。

だから、これは「うちのブログが狙われた」わけじゃないんだよ。フォームを公開した全サイトが平等に受ける通過儀礼みたいなもので、サイトが乗っ取られたとか、危険な状態とか、そういう話ではまったくないんだよね。ここは安心していいところだよ。

3. 鉄則:リンクは踏まない、返信しないんだよ

対策の前に、届いてしまったスパムの扱いの鉄則を1つだけ。

本文中のリンクは絶対にクリックしない。返信もしない。そのまま削除する。

クリックや返信をすると、相手に「このアドレスは人間が読んでいる」と伝わってしまって、かえってスパムが増えるんだよ。「開封しちゃった」だけなら大丈夫。リンクさえ踏まなければいいんだよ。

4. 対策:「3たす1は?」が最強の門番になるんだよ

さて本題。ボットを止める方法はいろいろあるんだけど、私が選んだのは拍子抜けするほどシンプルな方法だったんだよ。

フォームに、こういう質問を1つ足しただけ。

スパム防止のための質問(半角数字でお答えください)
3たす1は?

たったこれだけ。でも、これがボットには突破できないんだよ。ボットは「名前欄に名前っぽいもの、メール欄にアドレス、本文欄に営業文」を機械的に流し込むだけで、質問を読んで考えることができないからね。人間のお客さんには一瞬の手間だけど、機械はここで全滅するんだよ。

私はWordPressの「Contact Form 7」というフォームでブログの窓口を作っているんだけど、実はこのクイズ機能、最初から入っている標準機能なんだよ。新しいプラグインも、外部サービスの登録も、お金も一切いらない。フォームの編集画面で、送信ボタンの手前にこう書き足すだけだよ。

[quiz quiz-spam “3たす1は?|4” “5ひく2は?|3” “2たす3は?|5”]

質問を複数書いておくと、表示のたびにランダムで1問出題してくれるんだよ。ちなみにこの設定も、例によってAIに「Contact Form 7にスパム対策を入れたい」と相談しながら進めたんだよね。選択肢(クイズ・認証サービス・プラグイン追加)を並べてもらって、一番シンプルなものから試す。いつもの進め方だよ。

5. 仕上げ:わざと間違えて、テストするんだよ

設定したら終わり、じゃないんだよ。最後に必ず「ちゃんと働いているか」を確かめる。これはどんな設定作業でも同じだね。

テストの方法は簡単で、自分でフォームを開いて、わざと間違った答えを入れて送信してみるんだよ。うちの場合、答えの欄に「99」と入れて送信したら――「クイズの答えが正しくありません。」と表示されて、メールは届かなかった。ボットになったつもりで攻めてみて、ちゃんと弾かれたら合格だよ。

「守りの設定」は、うまく働いているときほど何も起きないから、効いているかどうかが分かりにくいんだよね。だからこそ、導入した直後に、わざと失敗してみせる。この一手間で「入れたつもりが動いてなかった」を防げるんだよ。

結論:公開には通過儀礼がある。でも対策はシンプルでいいんだよ

ブログでも、フォームでも、何かをインターネットに公開すると、人間のお客さんより先に機械がやってくる。これは避けられない通過儀礼なんだよ。

でもね、慌てて高度な対策に飛びつく必要はないんだよ。「3たす1は?」という質問1つで、機械の大群は門前払いできる。脅威の正体を知れば、対策は案外シンプルで済む――これはセキュリティ全般に通じる考え方なんだよね。後輩A君も、自分のサイトにフォームを置いたら、まず「リンクを踏まない」と「クイズの門番」、この2つから始めてみようか。

よくある質問

Q1. スパムメールのリンクを、うっかりクリックしてしまったら?

まず落ち着こうか。開いただけなら、すぐ閉じれば大きな問題にならないことがほとんどだよ。ただし、開いた先で何かをダウンロードしたり、パスワードやカード番号を入力したりするのは絶対にダメだよ。心配なら、その端末でウイルススキャンを回しておくと安心だね。

Q2. reCAPTCHA(「私はロボットではありません」のやつ)とどっちがいいの?

あれはGoogleの認証サービスで、たしかに強力なんだけど、導入にはGoogleへの登録とキーの設定が必要で、少しハードルが上がるんだよ。個人ブログの規模なら、まずクイズで十分。クイズを突破するスパムが増えてきたら、次の段階としてreCAPTCHAを検討する――という順番がおすすめだよ。

Q3. クイズの問題は、どんなものがいいの?

「答えが1つに決まる、簡単な算数」が鉄板だよ。コツは「半角数字で」と書き添えること。「よん」「4」「4」みたいに答え方がブレると、人間のお客さんが正解なのに弾かれてしまうからね。逆に「好きな色は?」みたいな答えが決まらない質問はNGだよ。

Q4. そもそも、お問い合わせフォームなんて置かないほうが安全なんじゃない?

気持ちは分かるけど、窓口がないと読者からの連絡も、企業からの仕事の相談も受け取れないんだよ。それにメールアドレスを直接ページに書くほうが、よほどスパムを集めてしまう。「フォームを置いて、門番を立てる」のが一番バランスがいいんだよね。

【本日のミッション:自分の「窓口」を点検してみようか】

  • ☐ 自分のサイトにフォームがあるなら、スパム対策が入っているか確認してみようか
  • ☐ 対策を入れたら、わざと間違えて「弾かれること」をテストしてみようか
  • ☐ (後輩A君へ)変なメールが来ても慌てないでいいんだよ。リンクを踏まずに削除。それだけ覚えておけば大丈夫なんだよ

📚 AI活用シリーズ(おすすめ)

▼ シリーズの全記事一覧を見る

コメント

タイトルとURLをコピーしました