Amazon商品の価格変動チェック「あまとも」
コミックダッシュ!は初音ミクGTプロジェクトを応援しています
個人ニュースサイトを巡回する「メガとんトラック」
前の記事次の記事
2005/03/23 14:32 - 2005/03/23

スパムフィルタのコードをキーワード方式に変更しました。


2005/02/08 [スパムコメント対策: URLフィルタを施してみました。]
の記事でもお伝えした通り、一斉に襲ってくる コメントスパム に対応するために、
MovableType の Comments.pm を書き換えて、スパムのフィルタリングを行っています。
 
前回の記事でもご紹介しましたが、miyagawaさんの記事あまやんさんの記事
からほとんどそのまま流用させて頂いたコードを動かしておりました。
その内容がこちら。
use FileHandle;
my %banned_url;
my $blacklist =
  "(MTインストールディレクトリ)/lib/MT/App/antispam.txt";
my $fh = FileHandle->new( $blacklist ) or die "$blacklist: $!";
while ( <$fh> ) {
  chomp;
  if ( $_ ne "" ) { $banned_url{$_} = 'death'; }
}
if( $banned_url{ $q->param('url') } ) {
  return $app->handle_error('COMMENT SPAM rejected.');
}

(インデントが全角スペースですので、コピペの際はご注意ください。)
 
これで antispam.txt に列挙されたURLと同じURLを指定したコメントは
フィルタされることになります。当初はかなりの効果を発揮していました。
 
ところが最近、結構な勢いで この網をすり抜けるスパム が横行しています。
というのも、最近のスパムはURLのうしろに xxxxxx-yyyy.html のようなhtmlを
つけてくるのです。現在のコードですとURLの 完全マッチ しか行いませんので、
ちょっと違ったURLを作られると、どんどんすり抜けられてしまいます。
 
そこでいっそ、完全マッチ方式をやめ、
 
 指定キーワードを含んだURLは全て弾く
 
という方式に変更することにしました。それがこのコードです。
use FileHandle;
my $blacklist =
  "(MTインストールディレクトリ)/lib/MT/App/antispam_keyword.txt";
my $fh = FileHandle->new( $blacklist ) or die "$blacklist: $!";
while( <$fh> ) {
  chomp;
  if ( $_ ne "" && $q->param('url') =~ /$_/ ) {
    return $app->handle_error('COMMENT SPAM rejected.');
  }
}

antispam_keyword.txt に羅列されたキーワードが、コメントの指定URLに
一部でもマッチ すれば、スパムと判定して弾く仕組みになっています。
 
そのキーワードのほうは、現在こんな感じで 100個ちょっと がリストされていますが、
 
 現時点でのスパムキーワード: antispam_keyword.txt
 
従来の完全マッチ方法で 1,000以上のURL をリストしていたものが、
この100個程度で問題なくカバーできることになりました。
たとえば「-casino」と「casino-」というキーワードでは、
「online-casino」も「free-casino」も「happy-casino」も「casino-games」も
みんな一様に弾いてくれることになるワケです。
 
今後も折を見てリストを増やしていく予定です。ただ、キーワードの設定の
仕方が巧くないと、稀に正当なURLも弾いてしまう 場合が有り得ます。
もし、このブログでそうしたトラブルがありましたら、その旨を
掲示板 のほうでご連絡頂ければ幸いです。(=゜ω゜)ノ


この記事を書いたのは・・・。
CK@デジモノに埋もれる日々 @ckom
ブログ「デジモノに埋もれる日々」「アニメレーダー」「コミックダッシュ!」管理人。デジモノ、アニメ、ゲーム等の雑多な情報をツイートします。




« 特別企画おまけ - BiBio JukeBox 解体新書

トップに戻る

USBメモリ付きボールペン、サンコーにライバル登場!? »


▼ はてなブックマークのコメント ▼



2020年あけましておめでとうございます。今年はちゃんと歯を磨きます。。。


2019年も大変お世話になりました。2020年も宜しくお願いいたします。


2019年あけましておめでとうございます。・・からのいきなりノートPC修理のお話


2018年も大変お世話になりました。2019年も宜しくお願いいたします。


デジ埋のブロガー名刺ver.3.1を前川企画印刷さんに作っていただきました。


2018年あけましておめでとうございます。今年は「積んデジ」を減らす・・?


2017年も大変お世話になりました。2018年も宜しくお願いいたします。


2017年あけましておめでとうございます。新年はモニタトラブルから始まります。


2016年も大変お世話になりました。2017年も宜しくお願いいたします。


2016年! あけましておめでとうございます!


2015年も大変お世話になりました。2016年も宜しくお願いいたします。


デジ埋のブロガー名刺ver.3を前川企画印刷さんに作っていただきました。

ピックアップタグ



▼ コメント ▼

ご自由にコメントください(=゜ω゜)ノ
※管理人は多忙のためお返事はほとんどできません(スミマセン)。
スパムおよび本文と無関係なコメントは削除対象になる可能性があります。


保存しますか?




★コミックダッシュ! 10,000人突破ありがとうキャンペーン!(9/18~10/23)
 
デジモノに埋もれる日々 : (C) CKWorks