平衡点
2006/09/13
_ コメントスパム対策
また来たよ. うざったいな.
そんな訳で, 英数のみの場合にはスパムとして弾くようにしてみた.
module TDiary
module Filter
class SpamFilter < Filter
def comment_filter( diary, comment )
mailregexp = r = /^[0-9a-zA-Z_.-]+@[\(\)%!0-9a-zA-Z_$.&+-,'"*-]+(\.[\(\)%!0-9a-zA-Z_$.&+-,'"*-]+)*\.[a-zA-Z]{2,6}$/
if /@(yahoo|hotmail|gmail|aol|leroy|ablare|gmx|)\.com$/ =~ comment.mail
false
elsif comment.mail.length > 0 and mailregexp !~ comment.mail
false
elsif comment.body =~ /href=/
false
elsif comment.body.scan( %r|https?://| ).size > 2
false
elsif comment.body.match(%r|^[!-~ ]+$|m)
false
else
true
end
end
end
end
end
どんな感じかな.
…ふむ. 「ASCII 行だけ」があると駄目ですが, まあ良いか.
ついでに,
もあててみた.
どうも, index.rb での ForceRedirect が効かないみたいで, しばし悩む.
にあったように, TDiary::ForceRedirect の場所が悪いみたいだった.
…今の現状では完全無視になってますな. これは. うーん.
また明日. …というか, 明日から福岡行ってきます. 暑そう.
[ツッコミを入れる]