最新 RSS

horiday blog

2006/12/11

[sns] spam filter on sns

このブログにも最近スパムコメントやスパムトラックバックが届くようになりました.

ここのブログシステムは sns なのですがスパムフィルターを探してみるとさっそくありました.

どうやら plugin/filter.pm にフィルタルールを書けば良いだけらしい.そこで下記のように記述したら確かにバッチリ効いてました.

# filter.pl
sub _comment_filter {
  my $name    = shift;
  my $comment = shift;

  # TODO ここに任意の判定ロジックを記述してください
  if (length($comment) > 256) { #長いのはイヤ!
     return 0;
  }
  if ($comment =~ /\n/) { # 複数行もカンベンして
     return 0;
  }
  if ($comment =~ /<[aA] /) { #リンクもダメ
     return 0;
  }

  return 1;
}
 
sub _trackback_filter {
  my $title     = shift;
  my $excerpt   = shift;
  my $blog_name = shift;
  my $url       = shift;

  # TODO ここに任意の判定ロジックを記述してください
  if ($excerpt =~ /<[aA] / || $excerpt =~ /http:/) {
    return 0;
  } # 要約の中にリンクが含まれる場合ははじく

  return 1;
}
 
1;