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
すげー!
_ 今日のアニメ
- ラブひなクリスマススペシャル
- 成瀬川が瀬田にプレゼントを渡していたら、景太郎がプレゼントを持ってくる。
#p01 contrib/filter/spamlookup.rbとしてコミットしました。
#p01 ありがとうございますっ!
#p01 http://www.hsbt.org/diary/20051014.html#p03<br>http://bigfield.ddo.jp/diary/20051013.html#p01