« Whirl-a-Style | メイン | どこまでが「使える言葉」なの? »

So easy!! ―困ったちゃん、解決編―

前回、無意味なASCII文字列の海外コメントスパムに閉口している話をした。そして、対策として「無意味な子音の連続が続くコメントは承認待ち状態にするプラグイン」が欲しいなあ、なんて言っていた。

しかーし! そんな難しいものを自作しなくても、いつもお世話になっているプラグインの設定にたった一行、付け加えればいいということに気づいてしまった。

そう、Movable Typeの付属品としてついてくる「SpamLookup - Keyword Filter バージョン」。特定の言葉が含まれるコメントやトラックバックを、迷惑コメント扱いして排除したり、公開を保留したりできるように設定できるプラグインだ。

わたしの場合、この「設定」にはひとにはお見せできないイヤな英単語がたくさん書いてある。スパムに特有の言葉ばかりだからだ。実際この方法でかなりの英文spamを排除してきた。
しかし、この方法はそこそこ強力な反面、「Cool site!!」なんて書いてくるタイプのspamや、先述のような無意味な文字が並んでいるだけものは苦手とする。

前者については、当面「Cool site」だの「Good page」だのといった言葉を使ったコメントを公開保留することで対処している。その条件を、「未公開キーワード」のほうに正規表現を使って設定した。(25-Apr.-2007 追記 : その後、こちらについては、同じタイプのスパムの数が目にあまるようになってきたため、迷惑コメント扱いに変更した)


/(?:(?:good)|(?:cool)|(?:nice)) (?:(?:site)|(?:page))/i

つまり「nice page」とか「good site」とか「cool page」とか「cool site」とか、これ1行でみんな対象になるってわけ。
…ちょっと待てよ?
正規表現が設定できるのなら、こういうのもありなんじゃないの?

/[bcdfghjklmnpqrstvwxz]{5,}/i

[bcdfghjklmnpqrstvwxz]とは、アルファベットから英語で母音として使われる6文字を除いたもの(yも母音の「ai」音や「i」音等を表すために使われるので除外対象とした)のうち、任意の1文字、という意味。これらが5個以上続けば、この正規表現に一致する。この正規表現も同じく「未公開キーワード」に設定した。

この設定を保存してから、かつて投稿されたことがあるスパムの本文をコピーして、コメント投稿してみると、しっかり保留扱いになっている。成功だ。

専用プラグインを作ろうかとまで悩んだ無意味な文字列のコメントスパムは、こうしてプラグインの設定箇所にたった1行を書き加えるだけで(いまのところは)解決したのであった。
欧文コメントは排除したくない/できないが、無意味文字列系のスパムはどうにかしたいとおっしゃる方、お試しあれ。

※もっとも、こうなることを予想したスパマーたちが出だしたのか、はたまた偶然なのか、とにかく前回の「困ったちゃん。」エントリをアップして以来、なぜかこの無意味文字列系スパムがぱったりと来なくなっていることがわかった。なんでやねん。

コメント (3)

PCに詳しい人が羨しい「アナログ人間」です。
私のブログにも訳の分からないコメントが入ります。
「イスラムの戦士がどうのこうの。。。」とかいうヤツがね・・・
とりあえず入ってきたら「禁止IPアドレス」に設定するしか、私にはできません。でも、毎回IPアドレスが違うからイタチごっこってわけです。

PCとかネットに強くなりた〜〜〜〜い!!

namancha:

Amebloでときどき見かけるあれね? 確かに結構厄介そう。
この場合は、文字がめちゃくちゃなんじゃなくて、実在する日本語の単語というかフレーズがでたらめに並んでるでしょ。
あれはだいたい政治的・宗教的にくせのある言葉が(イスラム云々とかユダヤ云々とか)入ってるから、NGワードの入ったコメントを蹴る機能がついていれば、その手の単語を入力して対処できるんだけど、Amebloにはないっぽいね。
AmebloにもNGワードが排除できる機能がつくといいけど。
いまのところは禁止IPアドレスの設定か(あの手のばら撒きする人はだいたい複数のプロキシサーバを使うから、あんまり効果ないんだよね)、「スパムとして通報して削除」機能を使うしかないのかな。
困ったもんだね。

ありがとうございます。

namanchaさんのアドバイスをもとに、アメブロの方へ「NGワード」で排除できるように要望を送っておきました。
実現するかしないかは分かりませんが、実現するにしてもかなり時間はかかると思います。

* trackbacks *

* Drecom RSS *