コメントスパム対策にCAPTCHAを導入

  • 投稿日:
  • by
  • カテゴリ:

たいした数じゃないけど、気づくと毎日同じspamerからコメントスパムが投稿されている。うぜーと思いながらも地道に手で消してたんだけど、気づいたら、本来表示されなければならないコメントが迷惑コメントに分類されてたりして、、、そんなことを毎日繰り返すのも何なので、2007年最初の作業として、Ogawa::Memorandaさんが公開しているCAPTCHAプラグインを導入することにした。

導入にはPerlのGDとAuthen::Captchaが必要になるんだけど、GDはインストール済みだったからいいとして、ActivePerl 5.8.xの場合はAuthen::Captchaが見つからない。標準のトポロジからは見つからないようだったんで、Perl\bin フォルダから
>perl -MCPAN -e shell
を実行し、
>install Authen::Captcha
でインストールした。ただし、Windows版の場合は、インストールの過程でVCのnmake.exeが呼び出されるようになっているので、あらかじめVisual C++ Expressをインストールして、使うかどうかわからないけど、vcvarsall.bat を実行しておいた。恐らく、各アルファベットと数字のpngファイルを生成するためにnmake.exeが必要なだけで、C++でコンパイル云々ということではないはずなので、VC++をフルにインストールする必要はないだろう。(インストール過程で選択する3つの項目はすべてオフでインストールした)
これで、GDとAuthen::Captchaがインストールされ、前提条件はそろった。

この状態で、Captchaのzipファイルを解凍し、captcha\imagesとcaptcha\dataフォルダにNTFSのアクセス権でIUSR_*****(インターネットゲストユーザー)を追加し、書き込み権限を与える。あとは、MTの管理画面でシステムメニューの下にCaptchaが表示されていれば使用準備は完了だ。Captchaを有効にするブログを選択して、設定->プラグインの下でCaptchaの設定を表示して保存し、dataフォルダにconfig.txtを作成する。続いて、個別アーカイブのテンプレートの適当な位置にCaptcha Testを表示するための行を埋め込んでブログを再構築すれば終わり。

のはずが、コメントをクリックしても絵が表示されない。。。

どうやら、この記事にあるように、captcha_js.cgiの2行をコメントアウトしないと埋め込まれないみたいだ。なんで?