CAPTCHAによるコメントSPAM退治、始めました。 CAPTCHAによるコメントSPAM退治、始めました。

-
前エントリで書いたように、
スパマーにもわかりやすい方法でトラックバック対策を講じたところ、
今度は、コメントSPAMが激増してしまうという結果になりました。
なんてこった。


コメントSPAMをなんとかして退治しなくてはいけないんだが…

そこで、アレですよ。

というわけで、前エントリの追記で予告したとおり、
CAPTCHAによる認証を導入してみました。

↓こんなの


(写真は、gmailの新規申し込み時に表示されるもの)

■ 導入


『導入』と書きだしてみたものの、実はさして書き出すことがありません(苦笑)

この素敵なプラグイン+プログラムを作成してくださったのは、
Ogawa::MemorandaのOgawaさん。

Captcha Plugin公開 - Ogawa::Memoranda


プログラムの仕様など詳細についてはこちら。

Captcha Plugin.ja JP - Ogawa Code


で、これを利用した、導入フローは、小粋空間さんのこのエントリを参考に。

小粋空間: Authen::Captcha をインストールして Captcha Plugin を利用する(CPAN による perl モジュールのインストール)


この小粋空間さんのエントリの前半部分は、
はてなブックマークを投稿するさいに、作業経験済み。

NOBODY:PLACE - MUTTER: さくらインターネットでCPANを利用できるようにする - はてなブックマーク -> MovableType[1]

なぜこれが必要かと言えば、
Ogawaさんのプログラムを使用する際に、
Authen::Captchaというモジュールが必要だからで。

Joshua I. Miller / Authen-Captcha - search.cpan.org


これを、さくらインターネットのローカル領域へのインストールするのに、
小粋空間さんのエントリが参考になる、というわけ。

おおよそ、手順通りに進めていけば、OKです。



ただ、最後の最後、
プログラムをエントリから呼び出すところで躓いて、かなりはまりました。
調べてみたところ、
どうも、captcha_js.cgi内の、secret keyに関する部分でこけてる様子…。

色々試行錯誤してみたものの、進まなかったので、
仕方なく、gen_codeルーチンの中の、
secretに関する部分をコメントアウトしてみたところ、解決しました。
(解決…か?)

あと、うちのテンプレが、
TypePadの認証にきっちり対応できてないようなので、
そのあたりもコメントアウト。


で、全個別エントリを再構築→完了。


今現在、コメントは問題なく行え、
かつ、SPAMも防止できてるようです。

とはいえ、ちょっと自分の対処があまりに杜撰なので、
MovableTypeの設定など含めてもうちょっと見直してみる予定。
後日、追記/修正などあるかも。


しかしまぁ、今日はとりあえずは、こんなとこで。
眠い…

COMMENTS
>どうも、captcha_js.cgi内の、secret keyに関する部分でこけてる様子…。

てところをもう少し詳しく!!

まだブログではアナウンスしていない0.10をダウンロードされたようなので、この際人柱に…(笑)。
こんにちはー

> > どうも、captcha_js.cgi内の、secret keyに関する部分で
> > こけてる様子…。

> てところをもう少し詳しく!!

そうなんですよねーもう少し詳しく書きたいんですが…
書けないんです…わかんなくて。

$conf->{captcha_secretに何が入ってても(入って無くても)、
ここで処理が終了してしまうんですね。

$captcha->secret($conf->{captcha_secret} || '');

ログを見ると、500ってことのようなんですが…
うーん。すみません。わかりません。
逆に単純過ぎてわからんのかなぁ…


> まだブログではアナウンスしていない0.10を
> ダウンロードされたようなので、この際人柱に…(笑)。

あーそういえばそうですね。
wikiの方のRSSでは確認しましたが。

てかむしろ、僕にとっては、Ogawaさんが、
僕にとっての人柱で、
故に、人柱の人柱と言うことに…(笑)


もう少し調べてみます。
とりあえず対策になるかなと思って、Data::Dumperモジュールを使った0.11をリリースしました。
軍曹!だ、ダメでした…

…冗談はともかく、やっぱり同じ箇所で処理が止まりますね。。
なんかサーバに入れ足りないんでしょうかねぇ。
ローカルだし。
(でもそれならエラーが出るよな…)
タッチの差で0.11aってのをリリースしてあります。

CPANのAuthen-Captchaにsecretオプションがなかったのでした。私が使っているFreeBSD用のパッケージにはあったのに。しょうがないので、CPAN版がインストールされているときにはsecretオプションを無視するように小修正してあります。
あああっ!
CPANをずっと眺めてて、

『んーーーーー?』

と思ってたんですが、
正直よくわからんので、
『どっかで拡張?』なんて解釈してたのでした。

もっと早めに分かってたことでしたねー人柱失格(苦笑)

素早い対応ありがとうございました。
確認できましたー
ありがとうございます☆