Movable Type 備忘録
Movable Type 4 の CAPTCHA 認証使ってみる
- Prev Page: Ajaxの出力結果を文字コード変換する
- Next Page: CPEntries プラグイン
あ~ぁ (´Д`;)
長いようで短かった夏休みが今日で終わってしまいます。あっというまの 9 日間でした。
もぅ 2、3 日お休みしたかったなぁと思いつつも、来月の連休に向けてまたがんばりまっしょぉ ( ̄∇ ̄)/ と意気込む bzbell です。
さて、今回は Movable Type 4 に標準機能となった CAPTCHA 認証についてです。
CAPTCHA 認証はわたしのサイトでも以下のカスタマイズをご紹介しました。
- コメント・スパム対策にセキュリティコード設置
- AjaxによるCAPTCHA認証をやってみる
今使っている CAPTCHA 認証です。
CAPTCHA 認証といえば、毎回変更される、グニャグニャしたイメージから認証コードをを読み取って入力するってものですが、今回は reCAPTCHA プラグインってのをインストールしてみたのでご紹介します。
当然ですが、ここでの説明は Movable Type 4 に限ったお話です。
また、CAPTCHA 認証を利用するには、お使いのサーバに Image::Magick というモジュールがインストールされている必要があります。
ちなみに、さくらインターネット、CORE SERVER、ロリポップにはインストールされています。
CAPTCHA 認証を有効にする
reCAPTCHA プラグインをインストールする前に、Movable Type 4 のデフォルトの CAPTCHA 認証を表示してみます。
ブログの設定画面から「コメント」をクリックすると、コメント投稿時の動作についての設定画面が表示されます。
画面下の方に「CAPTCHAプロバイダ」というドロップダウンリストから「Movable Type 既定」を選択します。そして「変更を保存」ボタンをクリックします。
次に、ブログの設定画面から「登録/認証」をクリックしてください。
そうすると、認証に関連する設定画面が表示されます。そもそも CAPTCHA 認証が必要なときってのは、不特定の人からのコメントを許可する場合に必要なもので、TypeKey ログインなどの認証手続きを行うときは不要なものですね。
ということで、この画面の認証方式の中から「認証なしコメント」をチェックすると CAPTCHA 認証が利用できるようになります。
他の認証方式では CAPTCHA 認証は不要なので表示されません。チェックしたら「変更を保存」ボタンをクリックして、ブログ全体を再構築します。
最後に、各エントリページ内に「匿名でコメントすることもできます。」というリンクが表示されれば OK です。
また、そのリンクをクリックするとコメントフォームが表示されて、CAPTCHA 認証イメージが表示されれば完璧ですっ!!後は適当にコメント投稿テストなどしてもいいかも、です。
以上で、Movable Type 4 の CAPTCHA 認証を利用することができました。
reCAPTCHA プラグインを利用する
reCAPTCHA プラグインってのは Movable Type 4 の圧縮ファイル中に同梱されているものです。
以下の記事を参考にやってみました。
Movable Type 4 で reCAPTCHA を利用する
reCAPTCHA プラグインってのは、こちらの reCAPTCHA: Stop Spam, Read Books という認証サービスを利用しているようです。
上記サイトにアカウントを作成(登録)するわけですが、ユーザ名、メールアドレスおよび、お持ちのサイトの URL を入力するだけです。
TypeKey みたいなものですかね。
また、reCAPTCHA プラグインはダイナミック・パブリッシングにも対応しているようです。
まず、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 さんありがとうございます ( ̄∇ ̄)/
以上でインストールは完了です。
次に reCAPTCHA サービスにアカウントを登録します。
こちらのページ中に「GET reCAPTCHA」というリンクがあります。
そのリンクをクリックして「Sign up Now!」ボタンをクリックするとログイン画面が表示されますね。ちっちゃく「Sign up」というリンクがありますので、そちらをポチッ!! とすると、登録画面が表示されます。
あとは、必要事項を入力して認証コードを入力すれば完了です。
ここだけの話ですが、認証コード読みにくいです。わたし 5 回も入れ直しました (; ̄∇ ̄Aさて、アカウント登録が完了すると、お持ちのサイトの URL 入力を促されますので、素直に入力します。
そうすると、「Public Key」、「Private Key」というキーを貰うことができます。このキーを reCAPTCHA プラグインに登録します。
各自の Movable Type 管理画面のシステムメニューから「プラグイン」をクリックしてプラグイン一覧を表示します。一覧の中から reCAPTCHA プラグインを探して、「設定」を選択すると「Public Key」、「Private Key」がそれぞれありますので、そこに貰ったキーを入力して変更を保存してください。
最後にコメント・フォームを変更します。
各ブログにある、テンプレートモジュール一覧の「コメント入力フォーム」を変更します。
具体的には以下の箇所を変更します。<MTIfNonEmpty tag="MTCaptchaFields"><MTIgnore>▼デフォルトの CAPTCHA 認証の場合▼<MTIfCommentsAccepted><MTIfRegistrationAllowed><MTElse><$MTCaptchaFields$></MTIfRegistrationAllowed></MTIfCommentsAccepted><div id="comments-open-captcha"></div>▲デフォルトの CAPTCHA 認証の場合▲</MTIgnore><div id="comment-form-recaptcha"><MTIfCommentsAccepted><MTIfRegistrationRequired><MTElse><$MTCaptchaFields$></MTElse></MTIfRegistrationRequired></MTIfCommentsAccepted></div></MTIfNonEmpty>
赤い字の部分をコメント(<MTIgnore>~<MTIgnore>で囲う)にして、青い字の部分を追加するだけです。
以上で reCAPTCHA プラグインの設定は完了です。
ブログ記事のアーカイブを再構築してください。
いつものように、記事が長くてごめんなさい。
Trackback Pings(0)
No trackbacks found.




こんにちは、bzbellさん。
Captcha標準になっちゃいましたね。レスポンスに絡むんで使用はやめてますが、面白いです。
記事中でダイナミックパブリッシング用プラグインについて、触れられてますが、MT4以降ではプラグインのフォルダから移動する必要はありません。
reCaptchaプラグインフォルダの中のphpフォルダ内を自動で認識してくれます。
>>1 oscar さん
こんにちわ^^
> reCaptchaプラグインフォルダの中のphpフォルダ内を自動で認識してくれます。
そうなんですかっ Σ( ̄Д ̄;)!!
ありがとうございます。
さっそく記事に反映します。