コメントに画像認証を導入

/web/blosxom

Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。

このサイトもとうとうスパムの爆撃を受けるようになりました。
これでUpdate Pingを打たなくても捕捉されることが証明されたわけです。半年も持たなかったな(汗)

ということで、前々から目を付けていたCaptchaプラグインを導入しました。CAPTCHAとはなんぞや? 解説は後に回すとして、ここではパスワード確認とかでYahoo!やGoogleが良くやる画像認証のこと。Blosxomで実現するには、ざっと調べた限り2つのプラグインが存在します。

「wbcaptcha」はCAPTCHAではあるものの、いわゆる「画像」認証ではない。導入にはサーバにfigletが必要で、あまり一般的ではない。
「Captcha Plugin」の方は、perlモジュールの“GD”と“Authen::Captcha”、あとBlosxomプラグイン“interpolate_fancy”が必要。こちらはさほど特殊でもないからか、XREAにしっかりインストールされていた。

なので、Captcha pluginを利用させてもらうことにした。

導入手順

  1. $data_folder、$output_folder、$output_pathを指定
  2. plugin_dirに投入(実行権限が必要)
  3. writebackプラグインに一文挿入(ファイルに書き込む直前辺り)

詳しいことはプラグイン本体のドキュメントに記載されていたので、併せて参考にされたし。CPANのAuthen::Captcha読んでも面白いかもしらん。

いちお問題1、失敗時のエラー文が貧弱。問題2、けっこう読みにくい。問題2に関しては、たしかGDで画像生成するときに幾つかパターン選べた ...ような気がする。後で調べるとして、とりまF5で対処していただければ。問題1に関しては... 落ち着いたら、エラー処理考えよう(汗)。

何はともあれ、暫く様子みようかと。今のところスパムは落ち着いてますが... 3ヶ月ほど保ってくれれば、とりあえず報われた気はする。次はトラバかな? この辺狙ってます。

memo: 他のブログシステムに関しては、alps hypertexteにリストされていました。MTとかWordpressとか。

CAPTCHAとはなんぞや?

要するに、人間とコンピュータを区別する方法のこと。
現状、スパムとされるものの多くがシステムによる自動的かつ大量生産的なものであることから、「スパム避け」の手法としても有効、とされる。

ま~実際にはさほど堅牢なものでもなく、本気で破ろうと思えば破れてしまう類のものらしいけどね。ただ、どっちかと言うとAI研究の側面が濃く、そういったイタチゴッコも計算の内なんだとか。

CAPTCHA破り

実は文字の「認識」は人よりコンピュータの方が優れているらしく、人では判読が難しいほど歪んだ文字でも、コンピュータはかなり高い識字率を示すらしい。したがって文字ごとの「認識」を困難にさせる工夫には、実はまったく意味が無い。むしろコンピュータにとって難しいのは文字と文字の「分割」、とのこと。その辺詳しく知りたければ、以下を読むと良いかと。

Note: スパム対策が面倒なので、コメント投稿を廃止しました。以前のコメントは残します。
ご意見・ご要望はtwitter@sigwygかはてブコメントにて。