AX 初心者のLinux(fedora)で自宅サーバ構築: MT-Keystrokesを使ったスパムコメント対策、実践編!!

« エントリー内でMTタグを使う | メイン | MT-Keystrokesの成果 »

2008年06月25日

 ■ MT-Keystrokesを使ったスパムコメント対策、実践編!!
さて、以前のエントリーでもあげましたが、MovableTypeにおけるスパムコメント対策、実践編です。
過去のエントリーとは・・・
MovableType コメントのスパム対策
今回、使用するのは「MT-Keystrokes」です。
では設定方法のご紹介です。
なお、設定を行うにあたり、以下のサイトを参考にさせて頂きました。
ありがとうございます。
MT-Keystrokesプラグイン Movable Typeコメントスパム対策 - WEBデザイン BLOG
WingMemo: コメントスパム対策プラグイン
また、この設定後の結果を以下に載せています。良かったら結果を見て下さい。期待通りでした。
MT-Keystrokesの成果
■ 前提条件、動作環境
前提条件は一旦、置いておき、動作環境です。
OS:Fedora Core 6
MovableType 3.35
改めて、前提条件です。
  1. 使用するプラグインは「keystrokes-0.1.5」を使用します。
    以下のサイトにあります。
    MT-Keystrokes
  2. 私のMovableType環境では、各種テンプレートをファイルにリンク付けをしており、OSからファイルを修正する方法を用いています。
    但し、同じ内容の修正を、MovableTypeのテンプレート画面から行っても同様の結果が得られますので、適宜、読み替えて下さい。
■ プラグインの取得
Keystrokes を以下のサイトから取得します。
MT-Keystrokes
今回は、Linuxコマンドを使用して、直接、「keystrokes-0.1.4.tar.gz」のファイルを取得します。
環境に応じ、HTMLからダウンロードし、解凍してもらっても構いません。
ダウンロード用のワークディレクトリを作成し、移動します。
# mkdir /tmp/MT-Keystrokes
# cd /tmp/MT-Keystrokes/
プラグインをダウンロードします。
# wget http://overstated.net/projects/mt-keystrokes/keystrokes-0.1.4.tar.gz
取得したプラグインを展開します。
# tar xzf keystrokes-0.1.4.tar.gz
以下の2ファイルは存在しますか?。
# ll plugins/keystrokes.pl php/plugins/function.MTKeystrokes.php
-rw-r--r-- 1 root root 1270  3月 10  2005 php/plugins/function.MTKeystrokes.php
-rw-r--r-- 1 root root 3363  3月 10  2005 plugins/keystrokes.pl

■ プラグインの格納
展開したファイルをMovableTypeのプラグインフォルダにコピーします。
プラグインフォルダは皆さん異なると思いますので、MovableTypeのルートディレクトリをmtDirの環境変数としてご説明します。
環境変数の設定
# export mtDir=MovableTypeのルートディレクトリ

pluginsディレクトリに展開したファイルをコピー
# cp -ip ./plugins/keystrokes.pl ${mtDir}/plugins/.
# cp -ip ./php/plugins/function.MTKeystrokes.php ${mtDir}/php/plugins/.

コピーしたファイルをWebサーバから動かせるように権限を変更しておきましょう。
参照権限を644に変更
# chmod 644 ${mtDir}/plugins/keystrokes.pl
# chmod 644 ${mtDir}/php/plugins/function.MTKeystrokes.php
所有者及び、グループをapacheに変更。ユーザ等は環境に合わせて下さいね。
# chown apache:apache ${mtDir}/plugins/keystrokes.pl
# chown apache:apache ${mtDir}/php/plugins/function.MTKeystrokes.php

■ テンプレートの編集1 エントリー・アーカイブ
テンプレートの編集を行います。
対象とするのは、「エントリー・アーカイブ」です。
但し、どんなテンプレートを使用しているかで、若干、以下と異なるかと思いますので注意して下さい。
コメントフォーム部分の編集
<!-- コメント入力フォーム -->
<MTEntryIfCommentsOpen> 
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>"
    name="comments_form" id="comments_form"
    onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<$MTKeystrokes$>
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />

コメント入力エリアにコードを追加
<textarea id="comment-text" name="text" onfocus="formClear(this)"
    rows="50" cols="10"
    onkeypress="keystrokes">ここにコメントを入力</textarea>

投稿ボタンにコードを追加
<dd>
<input type="submit" accesskey="v" name="preview" id="comment-preview"
    value=" 確認 " />
<input type="submit" accesskey="s" name="post" id="comment-post"
    onclick="keystrokes(this.form)" value=" 投稿 " />
</dd>

■ テンプレートの編集2 コメント・プレビュー
テンプレートの編集を行います。
対象とするのは、「コメント・プレビュー」です。
これをしておかないと、コメント投稿→確認ボタンを押してして、プレビュー表示からの投稿が反映されませんのでお忘れなきよう。
但し、どんなテンプレートを使用しているかで、若干、以下と異なるかと思いますので注意して下さい。
コメントフォーム部分の編集
<!-- コメント入力フォーム -->
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>"
    name="comments_form" id="comments_form" onsubmit="if (this.bakecookie.checked) rememberMe(this)">
<$MTKeystrokes$>
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />

コメント入力エリアにコードを追加
<textarea id="comment-text" name="text" rows="50" cols="10"
    onkeypress="keystrokes"><$MTCommentPreviewBody
    autolink="0" sanitize="0" convert_breaks="0"$></textarea>

投稿ボタンにコードを追加
<dd>
<input type="submit" name="preview" id="comment-preview"
    accesskey="v" value="確認" />
<input type="submit" name="post" id="comment-post"
    accesskey="s" value="投稿" onclick="keystrokes(this.form)" />
<input type="button" name="cancel" id="comment-cancel"
    value="取り消し" onclick="window.location='<$MTEntryPermalink$>'" />
</dd>

■ ブログの再構築
最後に、ブログの再構築を行って下さい。
おまけですが、この設定後の結果を以下に載せています。良かったら結果を見て下さい。期待通りでした。
MT-Keystrokesの成果

投稿者 bbs7 : 2008年06月25日 01:51

トラックバック

このエントリーのトラックバックURL:
http://www.hustler7.net/cgi-bin/mt/mt-tb.cgi/28

コメント

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)