«前の日記(2005-10-12 (水)) 最新 次の日記(2005-10-14 (金))» 編集
にっき
Google
2003|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|10|12|
2015|01|12|
2016|01|12|
2017|01|

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

_ Apple、QVGA液晶搭載MPEG-4/H.264対応の新「iPod」

ついに出たか。でも、ちょっと大きいかなぁ。

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

B000AJ9T80 Hatena

_ 今日のアニメ

ラブひなクリスマススペシャル
成瀬川が瀬田にプレゼントを渡していたら、景太郎がプレゼントを持ってくる。
本日のツッコミ(全3件) [ツッコミを入れる]
_ しばた (2005-10-13 (木) 13:06)

#p01 contrib/filter/spamlookup.rbとしてコミットしました。

_ えろぺお (2005-10-13 (木) 15:20)

#p01 ありがとうございますっ!

_ Pingback (2005-10-14 (金) 20:26)

#p01 http://www.hsbt.org/diary/20051014.html#p03<br>http://bigfield.ddo.jp/diary/20051013.html#p01


«前の日記(2005-10-12 (水)) 最新 次の日記(2005-10-14 (金))» 編集