captcha
ユーザ登録、コメント、コンタクト、コンテンツ追加などのフォームにキャプチャによる認証を提供することで、スパムを防ぐ手助けをするモジュールです。
1-10 までのランダムな 2 つの数字を足し算するという問題を提供し、その回答を半角で入力することで認証されるという動作をします。答えが間違っていたり、空欄だったりするとエラーが返されます。
[ ダウンロード : http://drupal.org/project/captcha ]
レビュー
[管理セクション] → [サイトの環境設定] → [Captcha] から設定を行ないます。
設定できる項目は以下の通りです。
- キャプチャの設置場所
- それぞれのロール(ユーザグループ)ごとに以下の場所への設置が選択できます。
- コメントフォーム
- ユーザログインフォーム
- ユーザログインブロック
- アカウント情報の編集フォーム
- 新規アカウントの作成(ユーザ登録)フォーム
- パスワードの再発行フォーム
- 個人宛コンタクトフォーム
- サイト宛てコンタクトフォーム
- コンテンツの作成
- 使用するキャプチャのタイプ
- デフォルトでは "Captcha" しか選択できませんが、Textimage モジュールを導入することで画像による認証方法も選択可能になります。
- 追加の説明文
- キャプチャ認証で表示される回答方法のヒントに、ここで入力した内容を追加できます。
- モジュールが提供する説明文より優先する
- チェックすると、標準の説明文を表示せず、「追加の説明文」に入力した内容のみを表示できます。
スクリーンショット

既知のバグ
- キャプチャが設定されたフォームを表示すると、未入力にもかかわらず、「計算の答えが間違っている」という内容のメッセージが表示されてしまう。
- コンテンツの作成時にキャプチャ認証を行なうよう設定していても、キャプチャが動作せず、認証フォームが表示されない。
- ユーザログインブロックに表示されるフォームの横幅が大きいため、レイアウトが崩れる。
など、いろいろなバグが報告されているようです。
回避策についてもいろいろと報告されていますが、そのうち、1. および 3. に関しては動作確認が取れましたので、紹介しておきます。
1. キャプチャが設定されたフォームを表示すると、未入力にもかかわらず、「計算の答えが間違っている」という内容のメッセージが表示されてしまう。
このバグに関しては、以下の赤字の内容を追記すれば回避できるようです。
/**
* Helper function validates captchas.
*/
function _captcha_validate($captcha_response) {
if ($_SESSION['captcha_correct']) {
return TRUE;
}
if (is_array($captcha_response)) {
$captcha_response = $captcha_response['#value'];
}
if (trim($captcha_response) == '') {
return FALSE;
}3. ユーザログインブロックに表示されるフォームの横幅が大きいため、レイアウトが崩れる。
このバグに関しては、以下の赤字の内容を追記すれば回避できますが、すべての場所で同一の横幅となってしまいます。(部分的に変更というのは難しいようです。)
$form['captcha_response'] = array (
'#type' => 'textfield',
'#size' => '10',
'#title' => t('Math Question: What is %problem?', array('%problem' => $x .' + '. $y)),
'#description' => t('Please solve the math problem above and type in the result. e.g. for 1+1, type 2.'),
'#weight' => 0,
'#required' => TRUE,
'#validate' => array('_captcha_validate' => array()),
);日本語翻訳
日本語翻訳ファイルは CAPTCHA 日本語翻訳 | DRUPAL*DRUPAL からダウンロードできます。
バグや問題点についての情報
トラックバック
トラックバックは承認後に表示されます。
URLから "-nospam" を削除してトラックバックを送信してください。
