2005-10-13 (木) [長年日記]
_ tDiary 用 SpamLookup フィルタ(2)
A レコードが存在するかどうかでチェックするほうが他の DNSBL とあわせる意味ではよいそうなので、そのように修正しました。
しかし、A レコードが存在しないと例外を投げる resolv.rb の仕様もどうかと思うが…。
あと、contrib の件は、私は sourceforge.net にアカウントすら持っていないので、どなたかが適当に入れていただけるとありがたいです。
Bulkfeeds DNSBL API を使用して、SPAM と思われる URL を含むツッコミ・リファラを拒否するフィルタです。
使い方は、tdiary/filter/ ディレクトリに spamlookup.rb という名前で保存するだけです。
#
# spamlookup.rb: included TDiary::Filter::SpamlookupFilter class
#
require 'resolv'
module TDiary
module Filter
class SpamlookupFilter < Filter
def black_domain?( domain )
begin
Resolv.getaddress( "#{domain}.rbl.bulkfeeds.jp" )
return true
rescue
end
false
end
def black_url?( body )
body.scan( %r|http://([^/]+)/| ) do |s|
return true if black_domain?( s[0] )
end
false
end
def comment_filter( diary, comment )
!black_url?( comment.body )
end
def referer_filter( referer )
!black_url?( referer )
end
end
end
end
_ 空耳ケーキ よつばと!Remix
すげー!
_ 今日のアニメ
- ラブひなクリスマススペシャル
- 成瀬川が瀬田にプレゼントを渡していたら、景太郎がプレゼントを持ってくる。

Apple iPod 60GB ホワイト [MA003J/A]


#p01 contrib/filter/spamlookup.rbとしてコミットしました。
#p01 ありがとうございますっ!
#p01 http://www.hsbt.org/diary/20051014.html#p03<br>http://bigfield.ddo.jp/diary/20051013.html#p01