スパムフィルタの効果

in

効果があったのかどうか悩むところですが、昨日からの約160件あまりのスパムのうち150件を撃退。これを効果ありとするか?すり抜けて来た10件も撲滅するか?

残り10件は内容的にはフィルタにヒットするはずなのでやっぱり見過ごしにしたくはありません。何か見落としがあるのでしょうがちょっと手詰まりです。
Drupalでは文字コードをUTF-8として扱うようなのでとりあえず正規表現関数をマルチバイト対応に変更してみます。perl互換からposix系の正規表現となりますが大丈夫かな?。処理速度もphpのドキュメントには

注意: Perl 互換の正規表現構文を使用する preg_match() のほうが、多くの場合 ereg() よりも速く動作します。

とありますがこの程度の文字数では気にする必要はないでしょう。

前回のコードを以下のように修正してみました。

$excerpt = mb_convert_encoding($trackback->excerpt,"UTF-8");
$subject = mb_convert_encoding($trackback->subject,"UTF-8");
if (mb_eregi('/\A[!-~\n ]+\Z/',$excerpt)) {
  $is_spam = 1;
}
if (((!$trackback->excerpt)||(strlen($trackback->excerpt)==0)) &&
    mb_eregi('/\A[!-~\n ]+\Z/',subject)) {
  $is_spam = 1;
} 
:

だんだん、弱気ですがまたこれで様子を見ます。

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/68

Comments