もっとCaptcha認証を使いたい!Form StoreモジュールでどこでもCaptcha!?
サイト上にコメントを投稿したり、コンテンツを投稿したりする際にスパム対策として投稿フォーム上に問題を出題して、それの解答を入力させて一致しなければ投稿を拒否する仕組みを提供するモジュールがCaptchaモジュール1です。
デフォルトでは、
- コメントフォーム
- 個人宛コンタクトフォーム
- サイト宛コンタクトフォーム
これでは運用状況次第ではスパムに荒らされ放題になってしまうこともあるだろう。例えば、ユーザー登録をしてプロフィールにスパム文を書き残す輩や標準以外のコンテンツタイプをゲストにも開放する場合などにはスパム対策に頭が痛くなることだろう。
そこで、Drupalの出力するフォーム画面の情報を収集して、Captcha認証の提示先として利用できるフォーム情報をCaptchモジュールに渡すことで、任意のフォームにCaptcha認証が利用できるようにするのがForm store | drupal.orgなのである。
インストールは他のモジュールと何ら変わらない。
sites/all/modules/にform_storeフォルダをアップロードして、モジュール管理画面から、Form storeとForm collectを有効に設定すれば使えるようになる。
インストールが完了すると、サイト設定メニューにForm Storeというメニューが出現する。
このメニューを開くとForm storeとCollect formsというタブメニューが表示される。
Form Storeタブには、収集されたフォーム情報がリスト表示されている。
デフォルトで
- comment_form
- page_node_form
- story_node_form
- user_pass
- user_register
収集されたフォーム情報はここにリストアップされることになる。
リストアップされたフォーム情報には簡単な説明を付けることができます。フォームによってはフォームをプレビューで確認することもできます3。
フォーム情報の収集は、Collect formsタブにあるCollect forms while browsing the site4オプションにチェックを入れて保存した後、Captcha認証を表示したいフォームをブラウザで巡回すればよいだけです。
注意しなければいけないのはオプションが有効になっている間はフォーム情報の収集を続けるので、目当てのフォームの情報を取得できたら、速やかにオプションを解除する習慣をつける様にした法がよさそうです。その方がForm Storeタブに不必要なフォーム情報が掲載されなくて済みますし、システムの負荷も軽減されるかもしれません。
必要なフォームの情報を収集し終えたら、Collect formsタブにあるオプションを解除して、Form Storeタブのリストを表示させて、必要に応じて説明文などを追加します。
フォーム情報をリストから削除したい場合は、削除したいフォーム情報の編集リンクからEdit descriptionに遷移した画面でRemoveボタンをクリックすることで削除することができます。
Captchaモジュールで利用するためには、サイト設定メニューにあるCaptchaメニューを開いて、Captcha Pointsタブをクリックします。
Form Storeタブのリストの内容がそのまま表示されますので、Captcha認証を提示したいフォームをすべてチェックして保存してください。ここで注意点ですが、Captcha Pointsタブの項目を1箇所でもチェックして保存すると、Captchaタブ内での設定できるフォームがCaptcha Pointsタブでチェックした内容に置き換えられるので注意してください。つまり、Captcha Pointsでコメントフォームにだけチェックを入れた場合には、Captchaタブ内に表示されるフォームはコメントフォームだけとなります。
Captchaモジュールはユーザーロール毎、フォーム毎にCaptchaアルゴリズムを設定できますのでユーザーには簡単な認証、ゲストには難しい認証などと言った使い分けすることも可能です。
- 1. MyCaptchaという画像認証に特化したモジュールもあるようです
- 2. Captchaモジュール5.x-1.xではノードの投稿フォームやログインフォームなどにも提示することができる。2.xでは3箇所のみ。
- 3. 対応していないフォームもあるようです
- 4. このページに添付してある日本語化ファイルを適用した場合は日本語化されて「サイトをブラウジングしている間、フォーム情報を収集する」とオプションの表記が変更されます。
| 添付 | サイズ |
|---|---|
| ja-form_store.po | 6.75 KB |