WEBサイトを運用する場合、スパムとは切っても切れない関係です。悲しいことですが、スパム行為がなくなることはないでしょうね。
Drupal でスパム対策をするとしたら、CAPTCHA モジュールが定番でおすすめです。見たことがある人も多いと思いますが、CAPTCHA モジュールを使うと以下のような画像認証などを設置することができるようになります。
画像認証は利用者側にとっては非常に面倒ですが、設置することでプログラムを使って自動投稿されるのを防げます。
スパム投稿が増えてきたら、CAPTCHA モジュールを使って対策することをおすすめします。なお、CAPTCHA モジュールでは画像認証と簡単な足し算の2種類から認証方法を選択することができます。
CAPTCHAのインストール
インストール方法は以下の通りです。
- CAPTCHAモジュールをダウンロードします。
- ダウンロードしたファイルを解凍して、/sites/all/modulesにアップロードします。
- [モジュール] ページ(/admin/modules)へ移動して、「CAPTCHA」と「Image CAPTCHA」を有効化します。
画像認証を使わなくていい(数式のみ使う)場合は、「CAPTCHA」だけ有効化すればOKです。
CAPTCHAの設定
CAPTCHA モジュールの設定を行うには、[環境設定] – [CAPTCHA] にアクセスします。
フォーム保護
CAPTCHA を設置したいフォームの「認証問題タイプ」を設定します。
フォームの種類は FORM_ID から判断するのですが、FORM_ID の調べ方については後述します。
デフォルトで用意されている FORM_ID に CAPTCHA を設置したいものがなかったら、FORM_ID を調べて下の方にあるボックスに追加します。
CAPTCHAの説明
表示される CAPTCHA に説明文を追加することができます。「CAPTCHAに説明を追加」のチェックを外すと説明文は表示されません。
標準のCAPTCHA認証
入力した文字の大文字と小文字を区別するかどうかを設定します。
存続期間
毎回認証を必要とするかどうかなどを設定できます。
IMAGE CAPTCHA
Image CAPTCHA も有効化していれば、「IMAGE CAPTCHA」タブに移動して、フォントの種類やゆがみとノイズの強さを変更することも可能です。
FORM_IDの調べ方
自分で追加したコンテンツタイプなどのフォームに CAPTCHA を設置したい場合は、FORM_ID を追加しなければいけません。
FORM_ID は、input 要素に hidden 属性を付けて HTML ソース内に記述されているので、HTML ソースを確認する必要があります。送信ボタン近くの HTML を見てみると、以下のような input 要素が見つかると思います。
<input type="hidden" name="form_id" value="article_node_form">
name=”form_id” となっている input 要素の value に入っている値が FORM_ID です。上記の例だと、article_node_form が FORM_ID です。これを CAPTCHA の設定画面で追加しましょう。
表示例
実際に CAPTCHA を設置したときの表示例を紹介します。表示例は設定画面で Example にアクセスすれば確認可能です。
上が認証問題タイプで Math を選択した場合で、下が認証問題タイプで Image を選択した場合です。
どちらを設置するかは、好みやサイトの雰囲気で決めましょう。
あとがき
お問い合わせフォームでもコメント欄でもフォームならどこでも設置できるので、スパム行為に困っている方はぜひお試しください。