Antibot モジュールガイド

ユーザー体験を損なわずに、スパムボットからあなたのサイトを保護します。

Antibotとは? ― "見えない"スパム対策

Antibotは、Drupalサイトをスパムボットによるフォーム送信から保護するためのモジュールです。

最大の特徴は、ユーザーにCAPTCHA(「私はロボットではありません」のチェックボックスや歪んだ文字の入力)を要求しない点にあります。これにより、ユーザー体験(UX)を著しく向上させながら、強力なスパム対策を実現します。

antibot

Antibotの巧妙な仕組み

JS

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)に記録が残るため、原因の調査が可能です。