JavaScript、Ajax、HTML5(API)、Ruby…Web及び関連技術の実験&情報公開&制作物紹介。

シンプル コメントスパム フィルター - SbCode プラグイン

| トラックバック(2)

コメントスパム対策として有名なのは、Captchaプラグインが有名です。
コメントスパム対策として高い効果が得られるものですが、追加のPerlモジュールが必要など、初心者やサーバの設定を自由にいじれない共有サーバ(レンタルサーバ等)使用者には、なかなか手が出せない人も多いと思います。
(サーバのOSが Mac OSX の場合も相性が悪くてGDモジュールが正常に動作しない等の問題があります。)

そこで。
簡単にインストール・設定できて、そこそこのコメントスパム対策効果が得られる、新しいプラグイン「SbCodeプラグイン」を提供します。
このプラグインの特徴は、以下の通り:

  • 追加モジュールは一切不要!
  • タグを一つ埋め込むだけ。ダイナミック・パブリッシング環境にも対応!
  • 複数ブログを運営している場合、ブログごとに使用の ON/OFF を切り替え可能。

【2007/03/08 v0.2にバージョンアップ】

ダウンロード

(どちらかを選択してください。内容は同じです。)

ver.0.2 [New!]
古いバージョン
ver.0.1

インストール

  1. ダウンロードしたファイルを解凍してください。
    解凍ソフトに「ディレクトリ構造を**」というオプションがある場合は、「ディレクトリ構造を有効(再現、等)」にして解凍すると、以下のようなディレクトリ構造が生成されます:
    ┣[plugins]
    ┃┗[SbCode]
    ┃ ┣SbCode.pl
    ┃ ┣SbCode.cgi
    ┃ ┣[lib]
    ┃ ┃┣SbCode.pm
    ┃ ┃┗[SbCode]
    ┃ ┃ ┗App.pm
    ┃ ┗[tmpl]
    ┃  ┗blog_config.tmpl
    ┗[php]
      ┗[plugins]
        ┗(4個のPHPファイル)
  2. 解凍して得られたファイルのうち、plugins/SbCode/SbCode.cgi を、ご使用のサーバ環境に合わせて編集してください。
    デフォルトでは、Perlのパスが"#!/usr/local/bin/perl"となっています。これをmt.cgiの1行目に指定しているパスと同じモノに置き換えればOK。
  3. (plugins/ 以下の)SbCode フォルダごと [MT]/plugins/ フォルダに、(php/plugins/ 以下の)4個のPHPファイルを [MT]/php/plugins/ フォルダに、それぞれコピー(アップロード)してください。
  4. FTPソフト等で、[MT]/plugins/SbCode/Sbcode.cgi の属性を CGIが実行できる属性に変更してください。
    MTインストール時に mt.cgi 等の属性変更を行ったと思いますが、それと同じ属性にすればOKです。
    755(もしくは705)が一般的です。

簡単な使い方

コメント入力欄のあるテンプレートに、「<$MTSbCode$>」タグを追記するだけ。
記述する場所は、コメント投稿フォームの<form>?</form>の間ならどこでもOK。
目安として、「<input type="hidden" name="entry_id" value="<$MTEntryID$>" />」という記述があるはずなので、その直後がよいでしょう。
例:

 :
<input type="hidden" name="static" value="1" />
<input type="hidden" name="entry_id" value="<$MTEntryID$>" />
<$MTSbCode$>
:

標準的には、記述するテンプレートは、以下の通りになります:

  • エントリー・アーカイブ(「テンプレート」→「アーカイブ」→「エントリー・アーカイブ」)
  • コメント・プレビュー(「テンプレート」→「システム」→「コメント・プレビュー」)
  • コメント・エラー(「テンプレート」→「システム」→「コメント・エラー」)
    (※小粋空間テンプレートを使用の場合等、コメントエラー画面にコメント投稿フォームを設置している場合)

これだけで、コメント投稿時にスパムフィルターが機能します。

設定

ブログごとに設定を変更することができます。
設定項目は3つだけ。

各ブログの管理画面から、「設定」→「プラグイン」と進んで、SbCodeプラグインの情報が載っている欄の右下の「設定を表示」をクリックしてください。
以下のような設定画面が表示されます。

SbCode_Config.jpg
(クリックで拡大表示)

各設定項目の説明をします。

Enable SbCode
このブログでSbCodeによるコメントスパムフィルターを有効にするかどうかを設定します。
使用したくない場合は、チェックを外してください。
TTL_UB
有効期限の最大値を秒数で指定します。
デフォルトは3600秒(=1時間)です。
TTL_LB
有効期限の最小値を秒数で指定します。
デフォルトは10秒です。

TTL_LBとTTL_UBは、「(TTL_LB)秒後から(TTL_UB)秒後までの間にコメントされたもの以外はスパムと見なす」という意味です。
TTL_LB は、実験的に取り入れた設定項目です。
あまり小さな値だと意味をなさない恐れがありますが、あまり大きな値だと、普通にコメントしようとした人もスパム扱いされてしまう恐れがあります。
TTL_UB も、あまり小さな値だと同じように、通常のコメントがスパム扱いされてしまうかもしれません。
状況を見て、今後デフォルト値を調整していく予定です。

提供するテンプレートタグの解説

別ドキュメントで解説しています。
提供するオリジナル・テンプレートタグの解説

技術情報

別ドキュメントで解説しています。
SbCode プラグイン - 技術情報

更新履歴

2007/02/06
ver.0.1
  • 初公開
2007/03/08
ver.0.2 [New!]
  • ダイナミック・パブリッシングでの動作を変更(デフォルトでスタティックの場合と同じ JavaScript を使用するように)
  • 内部ロジックを一部見直し

免責事項

Movable Type のユーザーは目的を問わず、このプラグインを無償で自由に利用することができます。著作権は Antimon2 が保持します。
このプラグインは無保証です。このプラグインの利用によるいかなる損害にも作者は一切の責任を負いません。

トラックバック(2)

あんちもん2.Lab - SbCodeプラグイン - 技術情報 (2007年2月 7日 00:15)

ダイナミック・パブリッシング、Perl版ダイナミック・パブリッシングでも使用可能な、SbCodeプラグインの技術情報・詳細情報を公開。 続きを読む

どうでもいいこと - コメントスパム対策をもっとスマートに (2007年3月26日 20:42)

抜本的にコメントスパム対策を行ったことは先日お伝えしました。おかげでコメントスパ... 続きを読む

カテゴリ

月別 アーカイブ

OpenID対応しています OpenIDについて

このブログ記事について

このページは、あんちもん2が2007年2月 6日 21:26に書いたブログ記事です。

ひとつ前のブログ記事は「コメント投稿をオープンにしました」です。

次のブログ記事は「SbCodeプラグイン - 技術情報」です。

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