最近、巧妙に日本語を交ぜた形でコメントスパムが届くようになってきた。 うちのシステムにはメルアドのホワイトリスターを入れているので、基本的にはホワイトリストに載っていないメルアドの方が投稿されたときには一旦保留になるので問題は発生しないのだが、保留になっているコメントを迷惑コメントとして処理するのがめんどくさい。
そこで、MovableTypeに標準で付いているSpamLookup Keyword Filterに特定の文字列を設定して迷惑コメントとして処理するようにしてみた。 キーワードにはPerlの正規表現が使えるとのことだったので試しに「行頭」を表す「^」を使ってみたら…ダメだった。 確かに問題のキーワードは行頭に入っているのだが引っかかってくれない。 試しに「文頭」を表す「\A」を入れてみてもやっぱりダメだった。
う〜む… 確かに「[A-Z]」とかいう表現は使えるようなのでPerlの正規表現は使えるのだが、全てを使えるわけではないようだ。 結局諦めて「行頭」も「文頭」も示すことはせず、文中にある特定のルールの文字列が出てきたら減点するようにしたのだが…納得いかないなぁ。 スパマーも頭を使って微妙な表現をしてきたときには、これらの特別な意味を持つ表現が使えないとキレイに排除できなくなってしまうんだよなぁ。
まぁ、取り敢えずこれで様子を見ることにするよ。
コメント
テスト投稿
トラックバックのテストです。…
再度テスト
トラックバックのテストです。 ここにリンクを張ってみます。…