Movable Type 備忘録

 

 Movable Type 4 の CAPTCHA 認証使ってみる

あ~ぁ (´Д`;)
長いようで短かった夏休みが今日で終わってしまいます。あっというまの 9 日間でした。

もぅ 2、3 日お休みしたかったなぁと思いつつも、来月の連休に向けてまたがんばりまっしょぉ ( ̄∇ ̄)/ と意気込む bzbell です。

さて、今回は Movable Type 4 に標準機能となった CAPTCHA 認証についてです。
CAPTCHA 認証はわたしのサイトでも以下のカスタマイズをご紹介しました。

  1. コメント・スパム対策にセキュリティコード設置
  2. AjaxによるCAPTCHA認証をやってみる
    今使っている CAPTCHA 認証です。

CAPTCHA 認証といえば、毎回変更される、グニャグニャしたイメージから認証コードをを読み取って入力するってものですが、今回は reCAPTCHA プラグインってのをインストールしてみたのでご紹介します。

当然ですが、ここでの説明は Movable Type 4 に限ったお話です。
また、CAPTCHA 認証を利用するには、お使いのサーバに Image::Magick というモジュールがインストールされている必要があります。
ちなみに、さくらインターネット、CORE SERVER、ロリポップにはインストールされています。

CAPTCHA 認証を有効にする

reCAPTCHA プラグインをインストールする前に、Movable Type 4 のデフォルトの CAPTCHA 認証を表示してみます。

  1. ブログの設定画面から「コメント」をクリックすると、コメント投稿時の動作についての設定画面が表示されます。
    画面下の方に「CAPTCHAプロバイダ」というドロップダウンリストから「Movable Type 既定」を選択します。

    そして「変更を保存」ボタンをクリックします。

  2. 次に、ブログの設定画面から「登録/認証」をクリックしてください。
    そうすると、認証に関連する設定画面が表示されます。

    そもそも CAPTCHA 認証が必要なときってのは、不特定の人からのコメントを許可する場合に必要なもので、TypeKey ログインなどの認証手続きを行うときは不要なものですね。

    ということで、この画面の認証方式の中から「認証なしコメント」をチェックすると CAPTCHA 認証が利用できるようになります。
    他の認証方式では CAPTCHA 認証は不要なので表示されません。

    チェックしたら「変更を保存」ボタンをクリックして、ブログ全体を再構築します。

  3. 最後に、各エントリページ内に「匿名でコメントすることもできます。」というリンクが表示されれば OK です。
    また、そのリンクをクリックするとコメントフォームが表示されて、CAPTCHA 認証イメージが表示されれば完璧ですっ!!

    後は適当にコメント投稿テストなどしてもいいかも、です。

以上で、Movable Type 4 の CAPTCHA 認証を利用することができました。

reCAPTCHA プラグインを利用する

reCAPTCHA プラグインってのは Movable Type 4 の圧縮ファイル中に同梱されているものです。
以下の記事を参考にやってみました。
Movable Type 4 で reCAPTCHA を利用する

reCAPTCHA プラグインってのは、こちらの reCAPTCHA: Stop Spam, Read Books という認証サービスを利用しているようです。

上記サイトにアカウントを作成(登録)するわけですが、ユーザ名、メールアドレスおよび、お持ちのサイトの URL を入力するだけです。
TypeKey みたいなものですかね。

また、reCAPTCHA プラグインはダイナミック・パブリッシングにも対応しているようです。

  1. まず、reCAPTCHA プラグインをインストールします。
    入手した Movable Type 4 の圧縮ファイルの以下の場所に reCAPTCHA プラグインが入っています。

    MT-4.0-ja/
    |
    +-- extras/
    |    |
    |    +-- examples/
    |    |    |
    |    |    +-- plugins/
    |    |    |    |
    |    |    |    +-- reCaptcha/    <-- このフォルダが reCAPTCHA プラグイン一式
    |    |    |    |    |
    |    |    |    |    +-- lib/
    |    |    |    |    |    |
    |    |    |    |    |    +-- reCaptcha.pm
    |    |    |    |    |
    |    |    |    |    +-- php/    <-- ダイナミック・パブリッシング用
    |    |    |    |    |    |
    |    |    |    |    |    +-- init.reCaptcha.php
    |    |    |    |    |
    |    |    |    |    +-- reCaptcha.pl  <-- reCAPTCHA プラグイン
    |    |    |    |
    
    

    上記ディレクトリ構成を参考に、reCaptcha/ フォルダを丸ごと、各自の mt/plugins/ ディレクトリの中にアップロードします。
    その際、php/ ディレクトリは不要なので削除します。

    そして、改めて reCaptcha/php/ フォルダを丸ごと各自の mt/php/ ディレクトリの中にアップロードし直します。
    ダイナミック・パブリッシングをお使いでない人はまったく不要なので、アップロードしなくても構いません。

    - 2007.08.19 追記 -

    ダイナミック・パブリッシングをお使いの人でも mt/php/ ディレクトリを移動しなくても自動認識してくれるそうです。
    すいません。わたしダイナミック・パブリッシング使ったことなかったので知りませんでした。

    oscar さんありがとうございます ( ̄∇ ̄)/

    以上でインストールは完了です。

  2. 次に reCAPTCHA サービスにアカウントを登録します。
    こちらのページ中に「GET reCAPTCHA」というリンクがあります。
    そのリンクをクリックして「Sign up Now!」ボタンをクリックするとログイン画面が表示されますね。

    ちっちゃく「Sign up」というリンクがありますので、そちらをポチッ!! とすると、登録画面が表示されます。

    あとは、必要事項を入力して認証コードを入力すれば完了です。
    ここだけの話ですが、認証コード読みにくいです。わたし 5 回も入れ直しました (; ̄∇ ̄A

  3. さて、アカウント登録が完了すると、お持ちのサイトの URL 入力を促されますので、素直に入力します。
    そうすると、「Public Key」、「Private Key」というキーを貰うことができます。

    このキーを reCAPTCHA プラグインに登録します。
    各自の Movable Type 管理画面のシステムメニューから「プラグイン」をクリックしてプラグイン一覧を表示します。

    一覧の中から reCAPTCHA プラグインを探して、「設定」を選択すると「Public Key」、「Private Key」がそれぞれありますので、そこに貰ったキーを入力して変更を保存してください。

  4. 最後にコメント・フォームを変更します。
    各ブログにある、テンプレートモジュール一覧の「コメント入力フォーム」を変更します。
    具体的には以下の箇所を変更します。

    1. <MTIfNonEmpty tag="MTCaptchaFields">
    2. <MTIgnore>▼デフォルトの CAPTCHA 認証の場合▼
    3. <MTIfCommentsAccepted>
    4.     <MTIfRegistrationAllowed><MTElse>
    5.         <$MTCaptchaFields$>
    6.     </MTIfRegistrationAllowed>
    7. </MTIfCommentsAccepted>
    8. <div id="comments-open-captcha"></div>
    9. ▲デフォルトの CAPTCHA 認証の場合▲</MTIgnore>
    10.  
    11. <div id="comment-form-recaptcha">
    12.     <MTIfCommentsAccepted><MTIfRegistrationRequired><MTElse><$MTCaptchaFields$></MTElse></MTIfRegistrationRequired></MTIfCommentsAccepted>
    13. </div>
    14. </MTIfNonEmpty>

    赤い字の部分をコメント(<MTIgnore>~<MTIgnore>で囲う)にして、青い字の部分を追加するだけです。

以上で reCAPTCHA プラグインの設定は完了です。
ブログ記事のアーカイブを再構築してください。

いつものように、記事が長くてごめんなさい。

 Trackback Pings(0)

No trackbacks found.

 Comments(2)

#1: Posted by oscar [RES]

こんにちは、bzbellさん。
Captcha標準になっちゃいましたね。レスポンスに絡むんで使用はやめてますが、面白いです。

記事中でダイナミックパブリッシング用プラグインについて、触れられてますが、MT4以降ではプラグインのフォルダから移動する必要はありません。
reCaptchaプラグインフォルダの中のphpフォルダ内を自動で認識してくれます。

#2: Posted by bzbell [RES]

>>1 oscar さん

こんにちわ^^

> reCaptchaプラグインフォルダの中のphpフォルダ内を自動で認識してくれます。

そうなんですかっ Σ( ̄Д ̄;)!!
ありがとうございます。

さっそく記事に反映します。

 Post a Comment

コメント用フィード