Movable Type の Captcha の表示を変更する

Movable Type の Captcha の表示を変更する

Posted at October 30,2009 1:55 AM
Tag:[Captcha, Customize, MovableType]

Movable Type のコメントでは Captcha を利用できます。本エントリーでは Captcha の表示のカスタマイズをいくつか紹介します。

1.基礎知識

Captcha の表示をカスタマイズするには、lib/MT/Util/Captcha.pm を編集します。

また、デフォルトでは、Captcha で表示される文字は以下のようです。数字の0 と 1、アルファベットの l と o は含まれていません(z が2つあるのが謎ですが...)。

23456789abcdefghjkmnzpqrstuvwxyz

2.表示文字を変更する

次の行を変更します。

sub READABLECHARS { '23456789abcdefghjkmnzpqrstuvwxyz' };

以下の部分も変更しないと反映されないようです。

...前略...
sub _generate_code {
...中略...
    foreach my $i (0..($len-1)) {
      my $byte = ord(pack('H2', substr($genval, $i*2, 2)));
      my $x = ($byte & 31);
 
      $code .= substr(READABLECHARS(), $byte & 31, 1);
    }
...後略...

試しに「31」の部分を「1」にすると、次のようになりました。

Captchaサンプル1

3.表示文字数を変更する

次のLENGTH を変更します。

sub LENGTH { 6 };

値を「8」にすると次のようになります。

Captchaサンプル2

単純に値を変更するだけではきれいに表示されないようですが色々試してみるとよいでしょう。

関連記事
zenback
人気エントリー
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)