コメント投稿の際に、画像認証をおこなうCaptcha機能は、管理側からするとスパム投稿を抑止する上で非常に有効です。
しかし、なぜかこの機能、SixApartのMTドキュメントを参照して設定しても、画像が表示されません。
当方ではPLESKをサーバ管理ツールとして使用しているため、サーバ環境のせい?かと半分あきらめていたのですが、Image:Magickがインストールされていれば使用できるとあるので、あーでもないこーでもないと探っていたら、同僚がググって探してくれました(^ ^)。
感謝!感謝!
ということで、Captchaを設定してみます。
Captcha.pmのカスタマイズ
- いきなりカスタマイズです。
(MTディレクトリ)/lib/MT/Util 内のCaptcha.pmを開きます。 - 187行目あたりにある下記の部分を # でコメントアウトします。
- その下に下記を追記します。
- これだけ。(^ ^) 上書き保存してアップロードします。
MT側の設定
- MTの管理画面で、「設定」->「コメント」を開き、表示オプションの「CAPTCHAプロバイダ」を「MovableType既定」にし、保存します。
- 同じく管理画面から、「設定」->「登録/認証」で、「認証方式」を「認証なしコメント」にします。
このとき、その他の認証方法「Movable Type」や「VOX」などを選ぶと、サインインでの投稿表示が現れますが、Captchaは消えてしまいますので、注意。 - 以上で再構築をかけると反映されます。
結果、簡単なのですが、Captcha.pmのカスタマイズって・・・・バグじゃないの? とちょっと腹立たしい気もします。MTは使用料とってるんだから、この辺の対処くらいしておいてほしいと思うのは私だけでしょうか?
ちなみに、この後、Captchaの表示回数(はじめの投稿と確認画面でまた出たり)とか画面遷移を少し簡素化したくて、コメント関係のテンプレートをいじったら、吐き出されたソースは問題ないのに、SyntaxHighlighterのコード表示が、全ブラウザで二重表示されたり、変なバグが発生しました。(T T)
いくら元に戻しても直らず、とりあえずPC再起動。それでも直らないので、FireFoxのCookieを全削除したら、なぜか正常に戻りました。この辺は、ブラウザの問題かなぁ。意外にMTとFireFox系の組み合わせって変なバグが発生することがありますしね。
MT3.32のころから使い始めてますが、未だにバグ多いよなぁ。しかも最近アップグレードも頻繁だし。ビジネスブログとか仕事でクライアントのMTを設置している方の身にもなってほしい・・・・。と、ちょっと愚痴ってみました。
-追記-
このあと、訳あってDBを変更するため、再度MTを組みなおしたところ、今度はIE6のバージョン(IE7では確認していません)で、SyntaxHighlighterが二重に表示される現象が発生しました。
Cookieを削除しても正常表示しません。他のブラウザは問題ありません。
問題点ははっきりしませんが、Captchaのコードを変えたことが原因するかもしれません。
また、FireFoxでは、コメントプレビューの際にCaptcha画像がでてこないなどの現象もあります。Cookieをクリアすることで、表示されしたが・・・。