メインコンテンツへスキップ
Q どろっぷ
不正対策

ハニーポットとは

概要

ハニーポット (honeypot) は、フォームに人間には見えない隠しフィールドを追加し、そのフィールドに値が入力された場合に Bot と判定する技術である。人間はフィールドの存在に気づかないため入力しないが、Bot はフォームの全フィールドを機械的に埋めるため、隠しフィールドにも値を入力してしまう。この差異を利用して Bot を検出する。

実装方法

ハニーポットの実装は単純である。フォームに通常のフィールドと同じ見た目の入力欄を追加し、CSS で「display: none」や「position: absolute; left: -9999px」などのスタイルを適用して画面外に配置する。サーバー側では、このフィールドに値が含まれていた場合にリクエストを拒否する。

フィールド名を email2 や website のように、Bot が自動入力しやすい名前にすると検出率が上がる。逆に、hp_field のような明らかにハニーポットとわかる名前は、高度な Bot に回避される可能性がある。

限界と組み合わせ

ハニーポットは実装の手間が小さく、ユーザー体験への影響も小さい利点がある。しかし、高度な Bot は CSS を解析して隠しフィールドを検出し、入力を回避できる。また、ブラウザーの自動入力機能が隠しフィールドに値を入れてしまい、正規ユーザーが誤検知される場合もある。

そのため、ハニーポット単体ではなく、Proof of Work やレートリミットと組み合わせる多層防御の設計がとられる。ハニーポットは低コストで単純な Bot をふるい落とす一次的な対策と位置づけ、すり抜けた Bot は PoW やレートリミットで対処するという役割分担になる。

この記事は役に立ちましたか?

関連用語

関連記事

あなたも質問箱を作ってみませんか?

メールアドレスだけで登録でき、パスワード不要で始められます。

無料で始める