Movable Typeの最近のブログ記事

秋ぐらいになってからコメントspamが尋常じゃないぐらいきてるので、スパム判断の閾値を厳しめに設定したのだが、siのコメントとかもスパム扱いしてることにこの間気づいた。

コメントしてもすぐに表示されなかった方、申し訳ない...。


そんなわけで閾値を元に戻してspamだけを弾くようにCAPTCHAを導入することにした。(そもそもCAPTCHAって何って方はこちら)
以下はそのときのメモ。

http://code.as-is.net/wiki/Captcha_Plugin.ja_JPからCAPTCHAプラグインをDL。

解答してpluginフォルダにぶち込み。cgiのみパーミッションを755に変更。

で、問題のサーバの環境だが、レンタルしてるロリポップはサーバ側をゴリゴリいじれるようなところではないのでモジュールの類は自分で用意する。以前、MTBlogTimesを入れたときにGDはもう用意したのであとはAuthen::Captcha。

メンテナンスがとまったのか、cpanにあるモジュールにpatchを当ててあげないとだめらしい。
幸い、研究室のサーバというものがあるので、そっちにつないでportでインストール。
その後、patchがあたった状態のモジュールをサーバからDL。その後lolipopサーバに移動してextlibディレクトリ内にAuthenディレクトリを作って、CaptchaディレクトリとCaptcha.pmを中にぶち込む。

モジュールの用意はこれでok。

再びplugin側のcgiを調整する。
紆余曲折の結果、変更すべき箇所は...
最初のuse文の前にuse lib '../../extlib';追加。(MTから独立してるCGIなので教えてあげないとだめ。)
あと、generate_code関数の最後らへんにあるprint関数が集まってるとこ
print "\tdocument.writeln('$_');\n" foreach split(/\r?\n/, $tmpl);以外をコメントアウト。(if (!commenter_name)といった具合にcommenter_nameという変数を参照してるらしいが、調べてみたら3.2にはそんな変数はなかったので消した。)以上の2点でok。


とりあえず、これでなんとか動くようにはなった。画像認識できるようなbotちゃんはまだ居ないだろう。たぶんスパムもかなり減ってくれるはずだ。確認時にまた、Captchaを入力しなきゃいけないというのを直したいところではあるが...まぁ今回はこのぐらいでいいや。表示とかの微調整も今度に回しておこう。

コメントする方は若干めんどくさくなってしまいましたが、ご了承くださいorz

なんか最近コメントspamが多発してるので標準でスパム対策機能がくっついてる3.2にupgradeさせた。

mt-staticフォルダの指定忘れて途中画面が固まってヤベーってなったけどなんとか成功。
#が、なんか再構築すると500エラーが出る。ヤバイ。

とりあえずメニュー画面に慣れないとな...。(´Д`;)

#何気にBerkeleyDB使用していたのでMySQLとかに移行しようか悩み中。
#ロリポだとSQLiteがいいらしいね。今度やってみよう...

#[更に追記]
#SQLiteに移行。ホントに移行したのか若干不安だが再構築時に500エラーが出なくなったのでよしとするかなぁ...。(いいのか

#[更に更に追加]
#やっぱりちゃんとできてなかったっぽい。
#標準のmt-db2sqlではなくmt-db-convertを使ったらいけた。↓
#
#Done copying data from DBM to DBI::sqlite! All went well.
#
#Your recommended setting
#-------------------------------------
## DataSource /xxx/xxx/xxx/xxx/db
#ObjectDriver DBI::sqlite
#Database xxx.db
#-------------------------------------

blogいじり

| コメント(0) | トラックバック(0)

ちょっとデザイン中心に色々弄ってました。(特にフォームの当たり)
ソレと同時にHTMLタグのおかしい箇所も修正。

とりあえず日本一厳しいといわれるHTMLチェッカー:Another HTML-lint で6月14日現在、88点。とりあえずこれ以上はめんどくさそうなので、しばらくいいです(´A`;)

それにしてもテンプレートが月別アーカイブやカテゴリーアーカイブとか色々と分かれちゃってるから修正が結構めんどい。後親カテゴリーの記事1件&子カテゴリー記事複数件の時に親カテゴリーの記事消そうとしても管理メニューからは消えるけど実際生き残っちゃいますね。これどうしたもんかなぁ。

サブカテゴリーの設定はできるのに、親と子の関係がごっちゃになってリスト表示されていたのでツリー化してみた。
googleで調べてみると色々なスクリプトが紹介されていたけどどうもblogの種類によって修正しなきゃいけないっぽい。しかも枝分かれに画像を使っているのでちょっと扱いづらいしどうしようかなぁと。

色々調べた結果、なんてことはないテンプレートでお世話になってるhinagataさんとこに簡単にツリー化できるやり方が載ってた

結局テンプレートの修正だけで終了。そもそもサブカテゴリーって機能があるんだからソレ用のタグがないってのもおかなしな話だよねぇ。

MTBlogTimesという面白いプラグインがあったので入れてみました。(カレンダーの下の部分ね)blogの記事を投稿した時間の部分に縦線が入るというヤツです。

以下導入時のメモ。(lolipopの場合)
MTBlogTimesからmtblogtimes-1.0.zipをダウンロード&解凍。GD-1.40.pm.zipも同様に。

mtblogtimes-1.0の中にあるblogtimes.plを、MTのPluginsフォルダにUP。

GD-1.40の中にあるGD.soとGD.bsをextlibフォルダにUP。(GD.pmはまだUPしない)
[GD.pmは古くて使えないらしいのでCPANから新しめのGD.pmをダウンロードする。新しいと入っても、最新版だとGD.pmが入ってなかったり、2.19とかだと動かなかった。GD-2.11なら動くのを確認。(ここでかなりハマってしまった。)]

GD.pmもextlibフォルダにUP。

生成した画像を保存するフォルダを<MTBlogSitePath>以下に作っておく。(デフォルトだとimagesっていうフォルダ名になるがMTBlogTimesタグのsave_dir属性で自由に決められる。ちなみに今回はbt_imagesってフォルダ名にした。)

あとはテンプレート側に表示させたい部分にタグを書くだけ。
ちなみにココのblogの場合は↓みたいな感じ。

<MTBlogTimes fillcolor="#3e6cb7" textcolor="#001950" linecolor="#FFFFFF"
bordercolor="#e6e6ff" width="170" height="15" save_dir="bt_images" show_text="on">
<a href="http://nilesh.org/mt/blogtimes/">
<img src="<$MTBlogTimesFileURL$>"
width="<$MTBlogTimesWidth$>" height="<$MTBlogTimesHeight$>"
border="0" alt="BLOGTIMES" title="BLOGTIMES" /></a>
</MTBlogTimes>

後は再構築して終了と。


なんかプラグインいじりも楽しいなぁ。ちとMT用にアクセスカウンタのプラグインでも作ってみようかな~。
あ、ちなみにBlogTimesはMT専用ですが、他のブログでも使えるようにしたRSSTIMESってのもあるみたいですよ。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMovable Typeカテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

OpenID対応しています OpenIDについて
Powered by Movable Type 4.261