Comment-key Filter & Plugin
Author: Hahahaha

## コメントキーフィルタ＆プラグイン

- はじめに
- 動作環境
- インストール・アンインストール
- 使い方
- 動作原理
- FAQ
- おことわり
- ライセンスなど
- 謝辞
- 履歴
- 過去のバージョン

### はじめに

最近、所有者以外が書き込みできるタイプのページ（掲示板やコメント、トラックバックなど）に宣伝目的で大量のデータを書き込む、いわゆるスパム攻撃が激しくなっています。

特に流行のblogなどで被害が顕著ですが、同じように受信出来てしまうtDiaryでも同様のことが起こっています（対抗策が十分でない分、被害を受けやすくなっています）

そこで、tDiaryの持つフィルタ機能とプラグイン機能を利用して、これらのスパムのうちコメントスパムに対して対策を行うのが「コメントキーフィルタ＆プラグイン」です。自動的にスパム送信を行うプログラムに対し効果を発揮します。

尚、本フィルタ＆プラグインはsheepman発案のコメントスパム対策をフィルタとプラグインのみで実現したものです。

### 動作環境

動作に必要な条件は以下の通りです。

- tDiary 2.0.0以上のシステム
- 自前でプラグイン及びフィルタがインストール出来る

### インストール・アンインストール

- key.rb を tdiary/filter 下に配置します。
- comment_key.rb を misc/plugin 下に、 ja/cooment_key.rb を misc/plugin/ja 下に配置します。
- tDiary の設定ページにアクセスし、「プラグイン選択」にて comment_key.rb を有効にしてください。

これでインストールは完了です。フィルタとプラグインの両方をインストールしないと動作しませんので注意してください。

### 使い方

インストールが完了した時点で、設定ページのプラグインメニューに「コメントキーフィルタ」が表示されます。このページにまずは移動してください。

このページの「コメントキーフィルタを有効にする」のチェックを有効にすることで、とりあえずフィルタが有効になります。

その下にはキーの値を生成する際に使用する文字列を指定します。この文字列がキーの値の元になる文字列の一部となりますので、お好きな文字列を設定してください。この文字列が他の人の日記のものと同一だと、生成されるキーはやはり同一になってしまうのでご注意を。

その下にある「常に同一の鍵文字列を生成する」は通常は必要ありませんのでそのままにしておいてください。

以上が設定し終わると、このフィルタが機能します。

### 動作原理

本フィルタはsheepmanさんのコメントスパム対策を移植したものなので原理は同じですが、一応説明しておきます。

本プラグイン＆フィルタはコメントフォームに対し、値として日付ごとに一意な文字列を持つキー "comment_key" を追加し*1、コメント書き込み時にこのキーとフィルタ内で生成した文字列を比較することで「日記表示時にそのページにあったコメントフォームから書き込んだのか？」を判定します。

判定がNGとなった場合はコメントの保存を行いません。

キーに設定された文字列は、元となるキー文字列のMD5チェックサムになっていて、元となるキー文字列を容易に推測されないようになっています。

*1 日付に関係なく同一の文字列を生成することも出来ますが突破されやすくなります。詳しくはFAQを参照

### FAQ

Q1. 最新表示でコメントできない

  もしかして、speed_comment.rbプラグインを使っていませんか？その場合、この本プラグイン＆フィルタではコメント対象の日付が特定できません。その時は設定ページにある「常に同一の鍵文字列を生成する」のチェックを入れれば一応コメントできるようになります。

  ただし、最新表示のみならず日付別表示でも常に同じ鍵文字列を生成するので多少コメントスパムの突破率は上がると思います。

### おことわり

このフィルタ＆プラグインはコメントスパムを防止する目的で作成されていますが、これを完全に防ぐことはできませんのでご了承ください。

例：　表示された日記のコメントフォームを解析したうえでスパム送信を行うようなプログラムなど

### ライセンスなど

「コメントキーフィルタ＆プラグイン」はGPLライセンスに従い公開・配布されるものです。

### 謝辞

このフィルタ＆プラグインは、コメントスパムに困っていた時に見つけたsheepmanさんのコメントスパム対策を使いたいんだけど、本体に手を入れたくない。なんとかならないか…と考えて出来たものです。重要な部分はほぼそのまま使わせてもらっています。ありがとうございます。

これでなんとかコメントスパムが減ればいいな…。

### 履歴

2005/08/31 (Ver.0.5.0)
  設定ページのカテゴリに対応(tDiary-2.1.2.20050826以降)
2005/04/17 (Ver.0.4.0)
  常に同一の鍵文字列を生成するオプションを追加
2005/03/21 (Ver.0.3.0)
  携帯からコメントが出来なくなっていたのを修正
2005/01/25 (Ver.0.2.0)
  TrackBack及びPingbackの投稿にも適用されてしまっていたのを修正
2005/01/15 (Ver.0.1.0)
  初版公開

### 過去のバージョン

- Ver 0.4.0
- Ver 0.3.0
- Ver 0.2.0
- Ver 0.1.0