Hidden CAPTCHA は、スパム対策用の Drupal モジュール「CAPTCHA」の拡張モジュールです。単体では動作しないので CAPTCHA が必要です。
Hidden CAPTCHAの特徴
Hidden CAPTCHA の最大の特徴は、モジュールを設定しても見た目は変わらないという点です。CAPTCHA は数式の計算や画像認証が必要ですが、Hidden CAPTCHA は何もしなくてもスパム対策できます。
ページには表示されない hidden 属性のフォームを HTML 内に追加して、自動投稿を検知するという仕組みです。プログラムを利用して自動投稿している場合、Hidden CAPTCHA によって追加された入力しなくてもいいフォームにも値を入力してしまうため、そこを逆手にとって対策するというモジュールです。
Hidden CAPTCHAのインストール
インストール方法は以下の通りです。
- CAPTCHA と Hidden CAPTCHA モジュールをダウンロードします。
- ダウンロードしたファイルを解凍して、/sites/all/modulesにアップロードします。
- [モジュール] ページ(/admin/modules)へ移動して、「CAPTCHA」と「Hidden CAPTCHA」を有効化します。
Hidden CAPTCHAの設定
[環境設定] – [CAPTCHA] にアクセスして、スパム対策したいフォームの認証問題タイプを「Hidden CAPTCHA」にします。認証問題タイプで「Hidden CAPTCHA」を選択した FORM_ID には隠しフォームが設置されます。
FORM_ID の判別方法については、CAPTCHA の記事で詳しく解説しているのでご参照ください。
あと、これはデフォルトのままでも OK ですが、[HIDDEN CAPTCHA] タブでは、隠しフォームのラベルを設定できます。
デフォルトだと「Website URL」となっていて、「Hidden text field label」に存在しそうなラベルを設定しておくとスパムプログラムを騙すことができます。
あとがき
面倒な手順を追加しなくてもスパム対策ができちゃうというのはすばらしいですね。
実際に私が運用しているサイトにも導入してみたのですが、画像や数式の CAPTCHA はすり抜けられていたんです。。。認証問題タイプを Hidden CAPTCHA に変更したところ、見事にスパム投稿がなくなったのでオススメです。