for MOBILE powerd by MT4i
Individual Archive

2004/11から、こつこつとサーバ移転を行ってました。
以前よりもサーバのレスポンスが良いので快適です。
アーカイブの形式を変更したので、他サイトからのTrackbackリンクはすべて404エラーになります。
ごめんなさい。

以下、移転に伴う作業経過をダイジェストで。

・サーバ契約。

さくらインターネット
のレンタルサーバをプレミアムサービスで契約。容量3GB。
年間¥15000。一括払い。

・MT3.0の導入&インストール。
移転ついでにMTのバージョンを3.0に移行。これはコメントスパム対策も兼ねたもの。
個人ライセンスの5ユーザ、weblog無制限版のライセンスを購入。
インストールはさくらのレンタルサーバ非公式FAQを参考にしてUTF-8でインストール。

・データ移行。
前サーバで運用していたMTのデータを手動でEXPORT。(EUC-JP)
これをUTF-8に変換した上で、新サーバにIMPORT。
このUTF-8変換で手間取った。

・サイト構成変更。
CMSとしてのMTを考慮した結果、今までのメインコンテンツを"blog"として設定。
同時に"blog"内のエントリであったbannerイメージとlinkをそれぞれ"banner"、"links"として独立。
otherblogプラグインを使用して、"blog"のモジュールテンプレートを取り込んでいる。
"blog"と"links"からは、"banner"のモジュールテンプレートを参照してバナーイメージを共通化させている。

"privatestyle"、 "502x502"、"密会"で共通しているタブの構築もotherblogプラグインを使用している。
同時にこの3つのサイトからotherblogプラグインとrebuildプラグインを使って、"blog"のIndexを更新している。

・コメントスパム対策
コメントスパム対策として、対策方法の一覧があるSoftware Linkageさんを参考にする。
まず、mt-comment.cgiをリネーム。
そしてblog.bulknews.netさんによるURL Banを導入。
次にHashによる対策を行うが、コメント部分のテンプレート記述をMTCommentFieldsで簡略化していたため、Hushによる対策ができないことに気づく。
悩んだ結果、MTのコードからMTCommentFieldsの処理を抽出してMTCommentFieldsExプラグインを作成した。
(参考:naoya's Techknow Movable Typeさん、Fenrir's BLogさん)
そしてMTCommentFieldsExプラグインにMTHushプラグインのコードを移植。
Preview指定が無い場合は投稿ボタンを表示させないようにして、対策をひとまず終了した。
かなりイケてない方法ではあるが。

そしてこの文を書いているときに、Fenrir's BLogさんで、"コメント文中のHTMLタグを拒否する"という対策方法が公開されていたので、早速導入した。
ただしMT3.121-jaでは、comment.pmの構造が違うので注意。
line 250付近に_make_comment()の呼び出しがあるが、その後に以下のコードを追加。

my $comment_text = $comment->text;
my $sanitized = remove_html($comment->text);
if($comment_text ne $sanitized){
return $app->handle_error($app->translate('HTML tag not allowed.'));
}

これで一安心だと思う。

・検索blogの限定化。
参考:BLOG質問箱:デフォルトの検索テンプレート

Trackback :: http://www.loungelabel.com/mt/mt-tb.cgi/613

Post a Comment