captcha_plugin Captcha Plugin (January 14, 2007)

Ogawa::Memorandaで公開されているCaptcha Plugin
を入れたのだが、かなり苦労したので同じような苦労にあっている
人向けに何をどうしたかを書いてみる。

まずやりたかったのは、下のスパム対策でよくある、
コメント入力前にランダムな文字を入力するあれである。

そして、なおかつ
文字の背景画像を自分で好きな物に変えたかった
ということにつきる。追加で言えばフォントも変えたかったが
a-zまで用意する手間が面倒でやめたのと、
文字を変形させるときのノイズの入り具合も変えたいところだったが
そこまではコードを追っていないのでわからない。

背景画像の変更なのだがOgawa氏が
プラグインを公開した時のエントリーのコメントで

"最後にcaptcha_js.cgiを編集して
「output_folder => './images',」の行の後に以下のように追加するだけです。
images_folder => '画像ファイルのディレクトリ',"

と書いているが、バージョンアップでこれが変わっている。
実際には
data_folder => File::Spec->catdir($dirname, 'data'),
の下の行に、
images_folder => 'イメージを入れたPath'
を書かなくてはならない。13行目が追加されることになる。

僕の場合は
images_folder => '/home/jlove/public_html/cgi-bin/mtのおいてあるところ/plugins/captcha/img'

とかにした。
画像は配布されているものの背景画像だけ変更したものを
uploadした。ちなみにここにlzhでupしてある

次に、エントリーアーカイブで
<script type="text/javascript" src="<$MTCaptchaJsURL$>"></script>
というjavascript呼び出しをコメント用のform要素の内部に記述すれば良いのだが、

いくらやっても画像も入力欄も表示されない。

ソースを見ると、
src="<$MTCaptchaJsURL$>" この部分はきちんとスクリプトの位置を表示しているし、
問題ない。

このURLを叩いてスクリプトを直接表示してみると、
if (!commenter_name)  という文章が。

実はこれが原因で表示されていなかった。

というのは、このブログのテンプレートはmovabletypeのバージョン2.7あたりから
そのまま継続して使っており、
MT3から導入されたTypeKeyの認証を使っていない。

commenter_nameはTypeKey認証まわりで使われているらしく、
僕の場合はいらない。

ということで

captcha_js.cgiの最後の方、

print $q->header('text/javascript');
print "if (!commenter_name) {\n";
print "\tdocument.writeln('$_');\n" foreach split(/\r?\n/, $tmpl);
print "}\n";


print $q->header('text/javascript');
print "\tdocument.writeln('$_');\n" foreach split(/\r?\n/, $tmpl);

と直して動かしてみると、あっさり動作した。

以上。

このコメントスパム対策は非常に強力で、
これまで1ヶ月で数千のスパムがあったが
それがきれいに0になった。すばらしい。



January 14, 2007 4:44 PM | E
Copyright© 2004-2008 Yukito Inoue All rights reserved.

Link
« BoConcept coffee table | Main | bluetooth mouse »
Category: webdesigning
Tag: movabletype
Related ESCAPE>>
winelist winelist ワインリストページは裏がある
  - サイト作成でかなり高度なシステムをコッチンと作り上げた。 ワインリストのページなのだが、 エクセルで作られたワインリストを コピー&ペーストして投稿すると、 自動的にtableレイ

movabletype_evaltemplatepl Movabletype eval-template.pl テンプレートタグを投稿で反映
  - Movabletypeのテンプレートタグを、エントリーの内容 つまりEntrybody内部に書き込んで、 投稿時に反映できるというプラグインがあったのでメモ。 非常に便利。 eva

bookshelf_full_of_mystery bookshelf full of mystery 海外ミステリの本棚
  - 父親が書いているブログ海外ミステリの本棚のデザインを いじった。右上にナガマルが登場している。 真ん中の本はTokyo Style、 右にはグラス。DSC-T10で撮影した。 海外

mt3_mt4_export_import_with_tags_comments_and_pings_ MT3 -> MT4 export import with tags, comments, and pings. movabletypeでタグもエクスポートする。
  - 何らかの理由でMovabletype3からエントリーをエクスポートして Movabletype4にインポートする場合、エントリータグ、コメント、トラックバックが エクスポートされな

mt4 MT4 まだまだ先は長い
  - 新しいサーバ木太郎の登場で MT4の導入でいきなり手間取ったのがインポート/エクスポート。 これはコッチンの弟であるオステタンが出てきて解決してくれた。 彼は非常に礼儀正しいので、

mt4_movable_type_4 MT4 Movable Type 4 バージョンアップ
  - 記事の自動保存、静的ページの管理、 複数ブログをまとめたポータルページの構築など 欲しいなあと思っていた機能が追加された Movable Type 4バージョンアップは もうそろそ

css_div_block CSS div block ブロックを真ん中に持ってくる
  - Movabletypeのテンプレートをまたいじった。 今回は主にCSS。人気ブログをよく見ているとレイアウトが上手い。 ここ数ヶ月モニタリングしていると、blogのヒット数は500

repair repair Movabletypeを再構築
  - Movabletypeの難しいところは、例えDreamweaverのプラグインで コンテナタグ対応のwysiwygな状態で編集をしたとしても、 CSSをオンラインから読み込んでくれ

rss_feed_encoding_eucjp_utf8 RSS feed encoding = EUC-JP -> UTF-8 フィードの文字コードがクロールに影響しているかも
  - まじめにGoogle sitemapにサイトマップを登録し、 htmlの文法も直した。 しかし全然テクノラティとgoogleブログ検索に 引っかからないのはなんでだろうとだいぶ悩ん

html_seo html seo 文法の正しさは検索エンジンに影響する
  - この前-546点だったこのblogのHTMLのソースを直し 平均50点くらいまで持って行ったのが3月3日。 その他のページに関してもゆっくりと修正をかけているのだが、 一昨日あたり

mttaginvoke MTTagInvoke 同一カテゴリーの最新タイトル・内容表示
  - movabletypeで投稿された記事と同じカテゴリーの記事の一覧を表示する MTTagInvokeプラグインを入れた。 こんな感じで同じカテゴリーのタイトルと、最初の38文字を抜

mt334 MT3.34 エントリー画面カスタマイズを継続する
  - movabletype 3.34の導入をした。 updateでやっかいなのはカスタマイズしているエントリー画面なのだが、 今回はあっさりDEKITA。 エントリー画面でamazon

tagging_again tagging again
  - tagを利用して関連エントリーを抽出する手法は広く知られていたが またプラグインを新しくした。そのため全てのテンプレートの再構築が 必要になってしまった。 これやるとタグクラウドも

google_webmaster_tools Google Webmaster tools ウェブマスターツールを真面目に使う
  - Google sitemap改めGoogle Webmaster toolsの ページ分析を見ていると、このサイトのコンテンツとして googleのクローラーが認識しているのは、

tagged tagged. タグ付け
  - ということで、高校の同級生まっつぉがタグについて まじめに考察している間にも全く無意味な自分用の言葉で エントリーにタグをつけ、実装してみました。 tanzaniaとかthaila



Trackback:
http://www.j-love.info/cgi-bin/mt_test3/mt-tb.cgi/3060
Title: test
Excerpt: Captchaテストを導入。 これでコメントスパムはほぼ撃退できるはず。...
From: Uncertainty of mylife
Date: 2007.01.15

Comments

おめds

Posted by: take at January 14, 2007 5:19 PM

test

Posted by: ino at January 14, 2007 5:33 PM

認証コードがaho5だった

Posted by: take at January 16, 2007 12:35 AM

とっても助かりました〜!
ありがとうございます。

Posted by: tamamix at May 28, 2007 9:08 AM
Post a comment










認証コードに数字の
0と1はありません。



イノウエのレスポンスに非常に時間がかかります。
ご了承願います。

webdesigning entries
live_search_webmaster_center Live Search Webmaster Center ライブサーチ サイトオーナー向けページ
  - j-loveドメインへのアクセス月間4万のうちの100程度の ヒット数しかない、検索エンジンとしてはかなりシェアが 少

amazoncom_currency_converter Amazon.com Currency Converter アマゾンの日本円支払いサービス
  - 毎日200〜300ヒットしているAmazon.comで買い物する方法の 逆リンクをたどったりして情報を収集していたとこ

png_ie6 PNG / IE6 IE6以下でPNGが半透明に表示されない件
  - 知らなかった既知問題が多い。 半透明(transparent)のPNGファイルが、Internet Explorer6以

frame_inside_onload_javascript frame inside onload javascript 親フレームを読み込ませるjavascript
  - フレーム内部のページが検索エンジンの上位にヒットしてしまい、 意図したページ(フレーム親)が表示されないことがある。 そ

wwwpivoinejpcom www.pivoine-jp.com ピヴォワーヌサイト公開開始
  - 門前仲町のフレンチレストラン・ピヴォワーヌのサイトが完成。 東西線とか利用する方は候補にどうぞ。 http://www

pageviews
today: today / yesterday: yesterday / total