トップ 最新

ただのにっき

2007-02-23(金) [長年日記]

tDiary: もりもりとspam対策

2.2のリリースに向けて、今月はspam対策関連のcommitをもりもり実行。ひととおりのフィルタは実装できたかな。

fragment入りのリンク元をspam認定

リンク元(referer)に、(通常のブラウザからは送られないはずの)「#」が含まれている場合はspamとみなす。標準のspamフィルタで強制的に適用。最近のreferer spamはたいていこれで防げている。なんでspam業者がわざわざ「#」を入れてくるのかわからないけど、ありがたいことだ(感謝してどうする)。

hide-mail-fieldプラグイン

夏に実装した、E-mail欄を隠すプラグイン。JavaScriptではなく、CSSを使うように実装しなおした。いっぽう、モバイルモードではtype=hiddenにして誤入力を防ぐように配慮。毎日50〜100通くらい来るツッコミspamは、ほとんどがこれで防げている。

spamlinkcheckフィルタ

1年半前に実装し、contribに入れてあった、リンクのないTrackBackをはじくプラグイン。標準のspamフィルタの設定画面でON/OFFできるようにして、coreに移動。(現時点では)たいていのTrackBack spamはこれで弾ける。

spamakismetフィルタ

先月実装した、Akismetのサービスを使うフィルタ。上のhide-mail-fieldプラグインをすり抜けてきた数通のツッコミspamはすべてこれで捕獲できており、実績は少ないながらも今のところ誤認識はない。

同様に先月入れてみた長いドメイン名spamフィルタは、ビミョーな感じなので今回は見送り。

このほかに、tdiary.confの初心者向けサンプル「tdiary.conf.beginner」には、spamフィルタのオススメ設定を書いてあるので、これを使って最初のセットアップをすれば、それだけでspamに強い日記が構築できる……はず。こっちはもうちょっとチューニングしたいところだが。