BlognPlus 用トラックバックスパム対策モジュール

鬱陶しいトラックバックスパムをフィルタリングする為の BlognPlus 用モジュールです。

モジュールの主な機能

トラックバックスパム対策モジュールの機能

受信したトラックバックを複数の条件から複合的にスパムか否かを判断します。
スパムと判定されたトラックバックは受信を拒否します。

はじかれたトラックバックのログは記録され、管理画面からいつでも閲覧できます。
またはじかれたトラックバックを復活させる機能も有しています。

動作環境

ダウンロード

利用規約

  1. このモジュールの所有権は 「nJOY」管理人 CJ にあります。
  2. モジュールを使用して損害が生じても、「nJOY」管理人 CJ は一切の責任を負いかねます。
  3. モジュールの再配布・販売等は一切禁じます。
  4. 利用者個人の責任において改造は自由に行えます。
  5. スクリプト内にあるプログラム名・バージョン名・著作権表示を削除・変更する事は認めません。
  6. 当規約に同意された方のみ、このモジュールを無料で使う事が出来ます。
  7. もしよければ、あなたのブログに「nJOY BLOG」へのリンクをはってやってください。管理人が大変喜び、モジュール作成の励みになります。

トラックバックスパム対策モジュール」(asm4trk.zip, 18kb)


インストール方法(主な手順)

  1. ダウンロードした圧縮ファイル(asm4trk.zip)を解凍する
  2. 「asm4trk」フォルダを BlognPlus ディレクトリ下の /module/ にアップロード
  3. 「config.ini」と「ngwd.dat」と「rejected.log」のパーミッション「666」等に変更する
  4. 「tb.php」86行目あたりに1行書き加える。
  5. モジュール管理から設定を変更する。

モジュール構成ファイル

赤文字のファイルのパーミッションは「666」「606」等にする必要があります。

「tb.php」の書き換え

「tb.php」86行目あたりに下記の通りに赤文字部分を追加する

  1. // 重複投稿チェック
  2. $errflg = false;
  3. if ($trackback[0]) {
  4. while (list($key, $val) = each($trackback[1])) {
  5. if ($val["name"] == $blog_name && $val["url"] == $url) {
  6. $errflg = true;
  7. break;
  8. }
  9. }
  10. }
  11. include(BLOGN_MODDIR."/asm4trk/asm4trk.php");
  12. if (!$errflg) {

インストール方法(BlognPlus v2.6.x 以降)

インストール

「asm4trk」フォルダを /module/ ディレクトリ下にアップロード後、未登録一覧に入っている「トラックバックスパム対策モジュール」の [インストール] ボタンを押してください。

動作設定

PC
PC 用スキンに独自タグを記述した場合、「PC」欄を「ON」にしてください。それ以外は「OFF」のままで使ってください。
携帯
携帯 用スキンに独自タグを記述した場合、「携帯」欄 を「ON」にしてください。それ以外は「OFF」のままで使ってください。

優先順位

特に制限はありません。

モジュールの仕組み

このモジュールでは受信したトラックバックを複数の条件に照らし合わせます。各条件にはペナルティ付けがされており、その合計ペナルティが基準値(1.0)以上ならスパムと判定します。

※ スパマーに手の内を明かしてしまうと対策される恐れがあるので、このページでは「条件」については多くは語りません。

スパム判定方法(簡単な説明)

複数ある条件それぞれに「0〜1」のペナルティが付与されています。
例えば、「条件A=1.0」「条件B=0.8」「条件C=0.5」「条件D=0.2」「条件E=0.1」と設定したとします。

受信したトラックバックに対して「条件A〜E」までチェックします。
もし条件に合致していると指定されたペナルティが加算されます。

例1:

「トラックバック1」は「条件A」でひっかかったとします。すると与えられるペナルティは「1.0+0+0+0+0」で「1.0」となります。
スパム判定基準値(1.0)に達しているので、「トラックバック1」はスパムと判定され受信を拒否します。

例2:

「トラックバック2」は「条件B」と「条件C」でひっかかったとします。与えられるペナルティは「0+0.8+0.5+0+0」で「1.3」となります。
これも基準値を上回ったのでスパムと判定されます。

例3:

「トラックバック3」は「条件C」「条件D」「条件E」と3つにひっかかったとします。与えられるペナルティは「0+0+0.5+0.2+0.1」で「0.8」になります。基準値を下回っているのでスパムとは判定されず、トラックバックの受信を許可します。

管理画面(設定)

モード選択

このモジュールには5種類のモードがあります。


スパム判定コメントの扱いログへの記録
ハムスパムハムスパム
テストモード行う受信受信するする
オール(A)モード行う受信保留するする
ブロック(B)モード行う受信保留しないする
チェック(C)モード行わないすべて保留する
デリート(D)モード行う受信削除しないしない

(ハム=スパムではない普通のコメントの事)

使い方としては、まず「テストモード」で試験運用をすると良いでしょう。「テストモード」時はスパムであると判定された・されていないに関わらずすべてのトラックバックの受信を許可します。

もし問題がなければ「Aモード」または「Bモード」を使い始めてください。この2つのモードの違いは、ログへの記録内容です。「Bモード」ではスパムとしてブロックされたトラックバックのみ記録されますが、「Aモード」ではそれに加え受信を許可したトラックバックも記録されます。
トラックバックスパムなのに、スパム判定を免れた理由を調べたい時などに「Aモード」は力を発揮すると思います。

ペナルティ

各条件のペナルティ値はモジュールの管理画面からいつでも変更が可能です。
もし誤認識が多い場合はペナルティの設定を見直しましょう。

最初は「テストモード」「Aモード」で運用し、受信したトラックバックに与えられたペナルティを研究すると良いでしょう。

管理画面(ログ)

ログ

はじかれたトラックバックのログを表示します。
ペナルティ値は「0.0」は緑、「0.1〜0.9」はオレンジ、「1.0以上」は赤で色分けされています。

もしスパムと誤認識されたものがあれば、ログから得られる情報を元にペナルティ付けを設定しなおしてください。

ログ画面

迷惑トラックバック解除

スパム判定で「1.0」を超えたため、弾かれてしまったトラックバックは1件ずつ再登録する事が出来ます。

スパムと判定されたトラックバックの左側にはラジオボタンが表示されます。
迷惑トラックバックを解除したいもののラジオボタンにチェックをいれ、[迷惑TB解除] ボタンを押してください。

迷惑トラックバック解除時に、トラックバックの受信時刻を「元の時刻(=ログに表示されている時刻)」と「現在時刻」のどちらかから選ぶ事が出来ます。デフォルト状態で「元の時刻」にチェックが入っています。

ログ削除

[ログ一括削除] ボタン横のチェックボックスにチェックを入れボタンを押す事で、ログをすべて削除します。
※ ログを削除しても、ブログで受信したトラックバックは削除されません。

保留トラックバックカウンター機能

スキンに {ASMTB_COUNT} と記述すると、ログに記録されているトラックバックの件数(※)をブログ上に表示出来ます。

最新トラックバック一覧に赤文字部分を追加しておくと、現在の保留状況が分かります。
いちいち、モジュールの管理画面に入らなくてもいいので便利です。
表示例: 「BlognPlus を使おう」の右サイドバーの「RECENT TRACKBACK」欄

  1. {RT}
  2. <h2 class="linktitle">最新トラックバック</h2>
  3. <div class="linktext">
  4. <ul class="sidebar">
  5. {RTLOOP1}
  6. <li>{RTTITLE}
  7. <ul class="sidebar">
  8. {RTLOOP2}
  9. <li>{RTLINK}{RTNAME}({RTYMD}m/d{/RTYMD}){/RTLINK}</li>
  10. {/RTLOOP2}
  11. </ul>
  12. </li>
  13. {/RTLOOP1}
  14. </ul>
  15. <hr>
  16. 保留中トラックバック:{ASMTB_COUNT}件
  17. </div>
  18. {/RT}

もちろん表示箇所はどこでも構いませんので、上記の通りにしなくても OK です。

※ 純粋にログ件数を表示します。
「Bモード」と「Cモード」の場合、「ログ件数=保留件数」になります。
「Aモード」の場合、「ログ件数=(保留+すでに受信したコメント)の総数」になります。

オートスパムブロッカー機能

「Aモード」と「Bモード」に限り、オートスパムブロッカーを有効にする事が出来ます。
この機能を有効にすると、スパムトラックバックのログへの記録を制限し、ログの肥大化を大幅に防ぐ事が出来ます。

使い方

「A または Bモード」で運用時、「*」が付いている項目のペナルティ値を「1.0」に設定する事で、オートスパムブロッカー機能が有効になります。

例えば[言語]のペナルティを「1.0」に設定すると、日本語が含まれないトラックバックを検出すると即座にスパムと判断し、ログに記録せずに排除します。

現在猛威をふるっているトラックバックスパムの大半は英語圏からのものなので、日本語以外のトラックバックは記録しない事でログが膨れ上がるのを防ぐ事が出来ます。
もしスパムでないトラックバックを誤判定した場合でも、比較的少ないログに目を通せば良くなり保留解除作業が格段に楽になるはずです。

アップデートの仕方

Ver2.00〜2.80 → Ver2.81

「config.ini」「ngwd.dat」「rejected.log」以外のファイルを上書きアップロードしてください。

Ver1.15 → Ver2.80

「ngwd.dat」以外のファイルを上書きアップロードしてください。

アンインストール方法

BlognPlus v2.6.x 以降

  1. モジュール管理画面から「モジュールアンインストール」ボタンを押す。

BlognPlus 全バージョン共通

  1. 「tb.php」に追加した記述を削除する。
  2. /asm4trk/ ディレクトリを削除する。

バージョンアップ情報

2009/05/30
ver2.81 BlognPlus v2.6.2 に対応
2009/05/05
ver2.80 管理画面に固定メニュー導入
2009/05/05
ver2.73 ログ画面を使いやすく改良
2009/04/06
ver2.72 悪意のあるトラックバックによりログが破損する脆弱性修正
2007/04/06
ver2.71 BlognPlus v2.6.0 に対応
2007/01/31
ver2.70 オートスパムブロッカー搭載
2007/01/22
ver2.66 保留トラックバックカウンター機能が動作していなかったのを修正
2007/01/21
ver2.65 Dモード追加
2007/01/21
ver2.61 保留トラックバックカウンター機能追加
2007/01/21
ver2.60 Cモード追加
2007/01/21
ver2.55 管理画面の表示が乱れる不具合修正
2006/12/27
ver2.54 BlognPlus v2.4.0 に対応
2006/10/28
ver2.53 管理画面のレイアウト変更
2006/10/28
ver2.52 ログ削除ボタン横にチェック欄追加
2006/10/28
ver2.51 復活時の時刻選択追加
2006/10/28
ver2.50 スパムと誤判定されたトラックバックを復活させる機能追加
2006/05/31
ver2.04 無駄な処理を省略
2006/05/31
ver2.03 管理画面のログ表示がおかしくなる不具合を修正
2006/05/28
ver2.02 管理画面のログ表示がおかしくなる不具合を修正
2006/05/21
ver2.01 ログに記録される概要の文字数を制限
2006/05/10
ver2.00 大幅に機能を追加
2006/05/08
ver1.15 UTF-8以外のトラックバックを受信すると不具合が発生したのを修正
2006/01/27
ver1.14 管理画面を修正
2006/01/26
ver1.13 モード切替機能追加
2006/01/24
ver1.12 ログ機能追加
2006/01/23
ver1.11 設定ファイルのフォーマットを変更
2006/01/22
ver1.10 ペナルティにより判定する方法に変更
2006/01/20
ver1.00 基礎部分完成

サイト作成のヒント集に戻る