コメント・トラックバックSPAM対策
ついに来やがった。ひじょーにムカツクので対策。でもtrackbackは…。
【環境】
- Python-2.3.5 (Linux)
- Zope-2.8.6-final (Linux)
- Plone-2.1.3
- COREBlog2-0.9b
まぁSPAMが飛んできたと言ってもこんな辺鄙なとこです。日に2~3回あるかないかっくらいなんですが、一度来るとみょーに憤慨感が炸裂するのでやっぱりヴァカ対策は必要。一度送ったIPからのアクセスは一生拒否してもいいぐらいです(笑)。
で、対策なんですが、これはさすがに歴戦の猛者な方が数多くいまして、 COREBlog2スパム対策(まとめ) というひじょーにぴったりな記事があったのでまんま採用させていただきました。SPAM送信ヴァカのIPをメールで通知してくれるというナイスな機能が(・∀・)イイ!
BuzzWordも取りあえず設定して、コメントSPAMに対しては効力を発揮してます……が、問題はトラックバックSPAM。
うぐ…。BuzzWordの統一性がねぇorz 送られてきたものを手動でSPAMと断定してその都度BuzzWord設定していくなんてのはスマートではないし、こりゃあどうすればいいのやら…。取りあえず内容が短い=文字数制限と題名=内容になってるのでこのへんで引っかけてみるか…。
と言うわけで、上記参照元から持ってきたtbpingのBuzzWordチェック部分とaddTrackbackMailを呼ぶとこの間に以下のコードをぶちこんでっと…。
# excerpt length check
if len(excerpt) < xx: ※一応文字列制限数は伏せておこう
moderated = False
# title=excerpt?
if excerpt == title:
moderated = False
さて、一応テストはしてみましたが本番でどうなることやら…。