ハニーポットによるスパム対策

reCAPTCHAとは別に使えるハニーポット対策の設定です。

HyperFormは、デフォルトでreCAPTCHAによるスパム対策機能が実装されています。

多くの場合、reCAPTCHAだけで事足りますが、さらにスパムフィルターを強化したい場合には、オプションとしてハニーポット(honeypot)機能を利用することができます。

ハニーポットの仕組み

  • CSS等で非表示にした、人間には見えないinput要素を設置します
  • そのinput要素に入力があったら、人間ではない何か(=bot)による投稿とみなし、その問い合わせをスパム判定します

HyperFormにおける実装方法

name属性に___hpc___(アンダーバー3個で囲われています)を含む値をセットされたinput要素を用意することで、そのフィールドをハニーポットとして認識します。

そしてCSS等で、このinput要素を非表示にしてください。

<form method="post" action="https://hyperform.jp/api/xxxx">
  <label>お名前</label>
  <input type="text" name="name">
  <label>お問い合わせ内容</label>
  <textarea name="content" required></textarea>
  <!-- ハニーポット -->
  <input type='text' name="hoge___hpc___fuga" class="honeypod">
  <!-- ハニーポット -->
  <button type="submit">送信</button>
</form>

<style>
.honeypod{
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}
</style>
実装サンプル

ハニーポッドによってスパムが検出された場合の表示

管理画面上で

このような表示で判別できます。

その他

API機能でも同様の動作をします。