現在位置: ホーム 清水川記 COREBlog2簡易spam-filter
ドキュメントアクション

COREBlog2簡易spam-filter

コメント追加の許可設定の件を調べようと思ったら、コメント追加が可能になったとたんspamコメントが10件以上投稿されていた。ムカツク。とりあえず、COREBlog1のBuzzWordsチェック機構をCOREBlog2用に改造してチェックするようにしたので、これで様子見。

追加コードは意外と少なくて、portal_skins/COREBlog2/validateCommentを以下のようにカスタマイズする。これでBuzzWordsに引っかかった項目がエラーとなって投稿できない。

for key in ['title', 'body', 'author', 'email', 'url']:
    if REQUEST.has_key(key):
        m = context.validateBuzzWords(REQUEST[key])
        if not m:
            state.setError(key, 'Pleae remove NG words.', new_status='failure')

if state.getErrors():

いちおうvalidateBuzzWordsも載せておく。これもportal_skins/custom等に置いて、引数textを取るようにしておく。今回の用途ではmoderated変数が用をなしていないけど、まぁいいか。

buzz_words = (
  'casino',
  'poker',
)

moderated=True
try:
    if not moderated:
        return moderated

    s = str(text).lower()
    for w in buzz_words:
        if s.find(w) >= 0:
            moderated = False
            break
    else:
        moderated = True

except:
    pass

return moderated
COREBlog2spamfilter

カテゴリ
Plone Plone

COREBlog2 簡易 trackback spam 対策

投稿者: takalog 投稿日時: 2006年06月13日 23時29分
最近このサイトに大量の trackback spam が届くようになりました。 で、言及リンク付きかどうかチェックではじこうかと思っていたんですが、いろいろ問題があってできてませんでした。 そうは言っても spam は止まりません。COREB...
コメントを追加

下のフォームに記入してコメントを追加することができます。プレーンテキスト形式。

(必須)
(必須)
(必須)