GOBLIN は、スパム送信者のリモートアドレスを記録したブラックリスト(以下、BList)を参照し、スパムコメントおよびスパムトラックバックを拒否する実験的試みです。GOBLIN の特徴として、この BList をサイト間で P2P 的に共有し、他サイトにある BList を利用して自サイトの BList を更新・強化するという点が挙げられます。新出のスパム送信者の情報は、GOBLIN の似非 P2P ネットワークを伝播しながら、直接の共有関係にないサイトの BList にも連鎖的に反映されていきます。
ちなみに GOBLIN は 『General Open-ended BlackList Inheritance Network (汎用的な公開されたブラックリストの継承ネットワーク)』という一部無理矢理なフレーズのアクロニムです。
もうちょっとマシな命名でもあれば良かったんですが。
;### Add the path string to your blacklist. our @BListPath = (); push @BListPath, '/home/magicvox/www/cgi-bin/mt/plugins/goblin/goblin.txt'; push @BListPath, '/home/magicvox/www/your/additional/blacklist.txt'; ;### as much as like above... ↑テキスト形式で保存されたブラックリストへのパスを必要なだけ指定します。
127.0.0.1 ↑自サイトで追加したアドレス 192.168.1.1 http://www.example.com/hoge/blist.txt ↑http://www.example.com/hoge/blist.txt 経由で追加されたアドレス 192.168.100.100 http://www.AAA.com/blist.txt http://www.BBB.com/blist.txt ↑http://www.BBB.com/blist.txt から http://www.AAA.com/blist.txt を経由して追加されたアドレス
作成したブラックリストは他サイトから参照できるよう Web に公開することが望ましいです。 以下のようなステッカーでも作って目立つところに貼っておきましょう。 (もちろん、自サイトのブラックリストを公開する/しないの選択は自由です)
Ready to share my GOBLIN
![]()
![]()
;### 自サイトのブラックリストへのパス our $BListPath = '/home/your/path/blist.txt'; ↑mt-goblin.pl と同じ ;### 自サイトが参照する他サイトの公開ブラックリストの URL を列挙 our @BListList = ( 'http://www.example.com/~hoge/blist.txt', 'http://foo.example.com/~hage/any/path/blist.txt', ); ↑ブラックリストを公開しているサイトを参照して、ブラックリストの URL を好きなだけ追加します ;### 共有POP数 (0 にすると外部参照しないので 1 以上を設定) our $POPCount = 2; ↑"ブラックリストの共有"の節を参照してください。 ※同じ IP が異なる共有 POP レベルにおいて出現した場合、自サイトにより近いデータで上書きされます。
goblin.pl は Perl スクリプトになっているので、
シェルから実行するか、あるいは cron などで定期的に実行しリストを更新するよう設定します。
また、拡張子を CGI に変更することで、ブラウザからリストの更新作業を行えます。
この場合、パスワード認証を掛けるなどして第三者がアクセスできないようにしておきましょう。
スクリプトを実行すると、@BListList
で指定された他サイトのリストを取得し、
$BListPath
で指定された自サイトのリストを更新にかかります。
GOBLIN | 0.11 ![]() | '05/11/15 | 0 bytes | MovableType 3.1 以降 | MovableType プラグイン、 更新用 Perl スクリプトを含む |
コメントフィルタおよびトラックバックフィルタは夫々、 Movable Type で言及リンクのない TrackBack ping を弾くプラグイン と MTBanASCII: コメントSPAM対策を MT3 に移植 より、コードを参考にさせて頂きました。