Sha256: 92871cad191f9b72b3b798366241f8e8a77ca81399da0520e16acab319dbfb80

Contents?: true

Size: 755 Bytes

Versions: 52

Compression:

Stored size: 755 Bytes

Contents

#
# spamlookup.rb: included TDiary::Filter::SpamlookupFilter class
#

require 'resolv'
require 'uri'

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 )
        URI.extract( body, %w[http] ) do |url|
          domain = URI.parse( url ).host.sub( /\.$/, '' )
          return true if black_domain?( domain )
        end
        false
      end

      def comment_filter( diary, comment )
        !black_url?( comment.body )
      end

      def referer_filter( referer )
        !black_url?( referer )
      end
    end
  end
end

Version data entries

52 entries across 46 versions & 2 rubygems

Version Path
tdiary-contrib-4.2.0 filter/spamlookup.rb
tdiary-contrib-4.1.3 filter/spamlookup.rb
tdiary-contrib-4.1.2 filter/spamlookup.rb
tdiary-contrib-4.1.1 filter/spamlookup.rb
tdiary-contrib-4.1.0 filter/spamlookup.rb
tdiary-contrib-4.0.5.1 filter/spamlookup.rb
tdiary-contrib-4.0.4 filter/spamlookup.rb
tdiary-contrib-4.0.3 filter/spamlookup.rb
tdiary-contrib-4.0.2.1 filter/spamlookup.rb
tdiary-contrib-4.0.2 filter/spamlookup.rb
tdiary-contrib-3.2.2.20130614 filter/spamlookup.rb
tdiary-contrib-3.2.2.20130518 filter/spamlookup.rb