Antibot モジュールガイド
ユーザー体験を損なわずに、スパムボットからあなたのサイトを保護します。
Antibotとは? ― "見えない"スパム対策
Antibotは、Drupalサイトをスパムボットによるフォーム送信から保護するためのモジュールです。
最大の特徴は、ユーザーにCAPTCHA(「私はロボットではありません」のチェックボックスや歪んだ文字の入力)を要求しない点にあります。これにより、ユーザー体験(UX)を著しく向上させながら、強力なスパム対策を実現します。

Antibotの巧妙な仕組み

JavaScriptによる検証
フォームがJavaScriptの動作する本物のブラウザから送信されているかを確認します。多くの単純なボットはJavaScriptを実行できないため、この段階で効果的にブロックできます。ユーザーには一切の操作を求めません。

タイムスタンプ
フォームが表示されてから送信されるまでの時間を計測します。人間がフォームを読んで入力するには数秒かかりますが、ボットは一瞬で送信します。この「短すぎる」送信をスパムとして判定します。
導入と設定
Step 1: インストール
Composerを使ってモジュールをダウンロードします。これが最も推奨される方法です。
composer require 'drupal/antibot:^2.0'
Step 2: 有効化
管理画面の「機能拡張」ページで有効にするか、Drushコマンドを使います。
drush en antibot -y
Step 3: 設定
設定にアクセスし、保護したいフォームを選択します。通常、全て保護することが推奨されます。
/admin/config/system/antibot
よくある質問 (Q&A)
最大の違いはユーザー操作の有無です。 CAPTCHA/reCAPTCHAはユーザーに何らかの操作(文字入力、画像選択、チェックボックスのクリックなど)を要求しますが、Antibotはバックグラウンドで静かに動作するため、ユーザーはスパム対策が施されていることに気づきません。これにより、フォームの離脱率を下げ、ユーザー体験を向上させる効果が期待できます。
はい、DrupalのForm APIを利用して作成されたほとんどのフォーム(ログイン、ユーザー登録、コメント、Webform、お問い合わせフォームなど)で利用可能です。設定画面で、どのフォームIDにAntibotを適用するかを細かく制御できます。
可能性は非常に低いです。Antibotは、人間ではありえない速度での送信や、JavaScriptが動作しない環境からの送信を基に判断するため、通常の利用で誤ってブロックされることはほとんどありません。ただし、ブラウザの拡張機能などが予期せぬ動作をした場合など、ごく稀なケースは考えられます。その場合でも、Drupalのログ(Recent log messages)に記録が残るため、原因の調査が可能です。