- 2009年6月24日 13:00
- WEB制作
「MT 4.xにインストールしているPlugin 2009/06ver.」で紹介したスパム対策プラグイン、"MT-Keystrokes"のインストール手順のメモです。
MT-Keystrokesは、スパムが機械的にMTシステムに直接働きかけてコメントを残す点に着目し、コメントフォームで投稿ボタンを押さなかったコメントをスパム扱いに分類するというフィルタリングをしてくれるなかなか画期的なコメントスパム対策プラグインです。
実際に、これを設置してからは、日本のスパムも海外スパムもしっかりはじかれているようで、コメント通知のメールをみてガッカリすることがなくなりました。
今のところ、設置後0件です。
さて。
本題にはいります。
インストール手順は3ステップ。
テンプレートをいじらなくてはいけないので、ちょっと手間がかかるように感じますが、既存テンプレートにちょこっと追記するだけなので、特別に難しいことはないと思います。
- サイトからプラグインファイルをダウンロードする。
- keystrokes.plをPluginsフォルダにアップロードする。
- テンプレートにKeystrokes用のタグを3箇所埋め込む。
この3ステップで、プラグインのインストールが完了し、スパムフィルターとして動作し始めます。
では詳細をメモ。
1. サイトからプラグインファイルをダウンロードする。
上記サイトの右上にある"download"から、プラグインファイルをダウンロード。
圧縮ファイルを解凍すると、keystrokes.plが出てきます。
2. keystrokes.plをPluginsフォルダにアップロードする。
次に、MTのシステム内にある、pluguinフォルダ直下にアップロードします。
3. テンプレートにKeystrokes用のタグを3箇所埋め込む。
最後に、MTの管理メニューから、以下の通りにテンプレートを編集します。
以下のソースは、テンプレートにより個々違いが出ると思うので、あくまでも参考に・・・。
1)<form>のすぐ後に<$MTKeystrokes$>を追加。
<form class="post" method="post" action="<$MTCGIPath$><$MTCommentScript$>" id="commentsForm">
<$MTKeystrokes$>
2)<textarea>タグ内にonkeypress="keystrokes(this.form)"を追加。
<textarea id="text" name="text" cols="50" onkeypress="keystrokes(this.form)"></textarea>
3) <input>タグ内に、onclick="keystrokes(this.form)"を追加。
<input type="submit" name="post" value="Post" onclick="keystrokes(this.form)" />
これで設置完了です。
【2009年11月6日 追記】
MT4.23に、MT-Keystrokes 0.1.5をインストールしたところ、正常に動作しなくなりました。
「<MTKeystrokes>は存在しません」というエラーまで発生するように。
色々調べた結果、MT-KeystrokesはMT3向けに作られていることが原因ということがわかりました。
以下、対策メモ。
keystrokes.plの65行目あたりをテキストエディタで修正します。
元ソースは以下。
return 1 unless $MT::VERSION =~ m(^3\.);
MTのバージョンチェックを行っている部分。MT3からMT4に書き換える。
書き換え後はこうなるはず。
return 1 unless $MT::VERSION =~ m(^4\.);
このplファイルをサーバーに上書きすると、正常に認識されているようです。
エラーも出なくなり、MTのプラグインリストでも正常表示されています。
- Newer: Ainsworthsで再びお買物。
- Older: Duplicateのプチバグを修正する。