お問い合わせフォームのスパムを止める方法

お問い合わせフォームのスパム対策

お問い合わせフォームのスパム対策:ハニーポット、タイムトラップ、CAPTCHA | We.Inc

ハニーポット、タイムトラップ、Turnstile・reCAPTCHA・hCaptchaなどの無料CAPTCHAをサーバー側で検証して、お問い合わせフォームのスパムを防ぐ方法。ライブデモ付き。

手間のかからない対策から順に重ねます。人には見えないがボットは入力してしまう隠しハニーポット欄を追加し、人が入力できないほど速く送信されたフォームを拒否します。それでもスパムが届く場合は、Turnstile、reCAPTCHA、hCaptchaなどのCAPTCHAサービスを追加し、そのトークンをサーバーで検証します。

スパム対策の比較

スパムボットはWeb上のフォームを巡回し、自動で投稿します。サーバーには誰が入力しているか見えないため、どの対策も、人ならしない振る舞いを見つけるか、別のサービスに訪問者を保証してもらう仕組みです。デモで最初の2つの対策を試し、対応するサーバー側のチェックをコピーしてください。

よくある質問

ハニーポット欄とは何ですか?

フォームのコードには存在するものの、人からは隠されている入力欄です。訪問者には見えないので空のままになりますが、見つけた欄をすべて埋めるボットは何かを入力してしまい、正体がばれます。

無料のreCAPTCHA代替はありますか?

あります。Cloudflare TurnstileとhCaptchaはどちらも無料プランがあり、仕組みも同じです。ページにスクリプトとウィジェットを置き、サーバーからシークレットキーと訪問者のトークンをsiteverifyのアドレスへ送ります。上限は各サービスの最新の料金ページで確認してください。

reCAPTCHA v3ではパズルが表示されますか?

表示されません。Googleのドキュメントによると、v3はスコアを返し、1.0は正当な操作の可能性が非常に高く、0.0はボットの可能性が非常に高いことを示します。しきい値は0.5から始めることが推奨されています。低いスコアをどう扱うかは自分で決めます。

ウィジェットだけでスパムを防げますか?

防げません。Cloudflareのドキュメントにも、クライアント側のウィジェットだけではフォームを保護できないと明記されています。ボットはフォームの送信先に直接投稿できるため、サーバーでトークンを検証する必要があります。

ハニーポットがあるのにスパムが届くのはなぜですか?

本物のブラウザーを動かし、見える欄だけを埋めるボットもいれば、人が手で入力するスパムもあります。タイムトラップを追加し、次にCAPTCHAを導入しましょう。フォームでリンクが不要なら、リンクだらけのメッセージも拒否します。

無料のチェックを先に行う理由

トラップを正しく隠す

CAPTCHAトークンをサーバーで検証する

ハニーポットとタイムトラップをコピーする

HTMLはフォームに入れます。サーバー側のチェックはNodeとExpressの例ですが、どの言語でもロジックは3行です。

ハニーポット欄付きのフォーム

.hpクラスがトラップを画面外へ移動します。started欄には小さなスクリプトが現在時刻を入れます。

サーバー側のチェック(Node、Express)

ボットにも人と同じ応答を返すので、どのチェックに引っかかったかを学習されません。

Turnstile、reCAPTCHA、hCaptchaの追加

3つとも仕組みは同じです。以下の詳細は各プロバイダーの公式ドキュメントに基づいています。

CAPTCHAサービスの比較

Turnstileトークンの検証(Node 18以降)

ウィジェットはフォームにcf-turnstile-responseという欄を追加します。シークレットは環境変数に保管してください。

ライブデモ:ハニーポットとタイムトラップ

どこにも送信されません。「送信」を押すと、サーバーと同じチェックがこのブラウザー内で実行されます。

お名前

メッセージ

Webサイト(空欄のままにしてください)

ボットのように振る舞う:隠し欄に入力する

送信

やり直す

フォームに入力して「送信」を押すと、サーバーのチェック結果が表示されます。

受付:トラップは空で、{n}秒が経過しました。実際のフォームならここでメッセージが送信されます。

破棄:隠し欄に値が入っていたため、ボットと判断しました。訪問者にはそれでもお礼のメッセージが表示されます。

破棄:{n}秒で送信され、最低{m}秒より速すぎました。

ボットから見える状態がわかるよう、ここでは隠し欄を枠付きで表示しています。

無料で始める · クレジットカード不要

関連: ガイド|Webマーケティングと集客を学ぶ

製品

ご利用いただける方

機能

リソース

会社情報

サイトマップを見る