2004年05月13日

mt-scode.cgi

こちらのドメインで運用をはじめてから、初めてコメントSPAM攻撃に遭いました。
削除するのマンドクセので、mt-scode.cgiを導入してみようと思ったのですが・・・うまく動かない・・・(´Д⊂
具体的には、セキュリティコードの画像が表示されないです。

・・・と書いていたのですが、動作するようになりました。
以下に手順を書いておきます。

1.SCodeプラグインを入手します。こちらから辿れます。
2.入手したファイルを展開し、Scode.pmを書き換えます。冒頭のtmp=... を、自分が使えるテンポラリディレクトリのパスに書き換えます。(例:/home/kei/tmp/)
3.Scode.pmをMovableTypeをインストールしたディレクトリの、lib/MTにアップロードします
4.mt-scode.cgiをmt.cgiと同じディレクトリにアップロードします。実行権の付加をお忘れなく。
5.scode.plをplugins/ディレクトリにアップロードします。
6.MovableTypeのlib/MT/App/Comment.pmを書き換えます。

return $app->handle_error($app->translate("Comment text is required."));
}

という行を探してください。その直後に
#
# SecurityCode hack start
#
require MT::SCode;
my $code = $q->param('code');
my $scode = $q->param('scode');
my $sscode = MT::SCode::scode_get($code);
if ($scode ne $sscode) {
return $app->handle_error($app->translate(
"セキュリティコードが入力されていないか、間違っています。"));
}
MT::SCode::scode_delete($code);
MT::SCode::scode_create($code);
#
# Security hack ends
#

こんなのを挿入します。
7. MTのEdit templateメニューから、Individual Entry Template,Comment Listing Template,Comment Preview Template,Comment Error Templateを編集します。
Templateのどこかに

こんなのを挿入してください。
8.再構築して、コメントの書き込みフォームに数字がでてくれば成功です。

肝心なことを書き忘れていました
9.画像が標準出力からでてくるため、xreaのように、出力MIMEtypeが画像だろうが何だろうが広告を挿入してくれる場合には、何らかの対策をします。xreaの場合は、mt-scode.cgiの拡張子をxcgに変更し、さらにplugins/mt-scode.plのなかにある、mt-scode.cgiをmt-scode.xcgに変更しておきます。

Posted by KEI at 2004年05月13日 06:09 | Comments (2) | TrackBack
Comments

成功したっぽいのでテスト

Posted by: KEI at 2004年05月13日 13:16

再度

Posted by: KEI at 2004年05月13日 13:17