2026.06.10
公開したばかりのお問い合わせフォームには、数日で自動送信のスパムが届き始めます。有料のCAPTCHAサービスを使わなくても、以下の2つを組み合わせるだけでほとんどのbotを防げます。
人間には見えないフィールドをフォームに1つ仕込みます。botはフォームの構造を機械的に読み取って全項目を埋めてしまうため、このフィールドに値が入っていたら送信を拒否(または黙って破棄)します。CSSで position:absolute; left:-9999px; のように画面外に配置するのが定石です。
フォームが表示されてから送信までの時間を計測し、数秒未満での送信は機械的な送信とみなして弾きます。人間が名前・メール・本文を入力するには、どんなに速くても数秒はかかるという前提を利用した方法です。
本ポートフォリオサイトのお問い合わせフォームには、上記2つの仕組みを実装しています。実際にフォームを開いて、開発者ツールでソースをご確認いただくことも可能です。