Sha256: 6d440417bff9a804a42815481fb33db83cf940eeed5571771f58d1886970ab0e

Contents?: true

Size: 1.09 KB

Versions: 12

Compression:

Stored size: 1.09 KB

Contents

module Gluttonberg
  module Content
    module DespamilatorFilter

      class ObfuscatedURLs < Despamilator::Filter
        def name
          'Obfuscated URLs'
        end

        def description
          'Finds lame attempts at obfuscating urls.'
        end

        def parse subject
          text = subject.text.without_uris.downcase
          count = find_space_separated_parts text
          count += find_space_separated_characters text

          # weird maths below is due to some issue with ruby 1.9.2 multiplying floats by 3 (?!)
          subject.register_match!({:score => (4.0 * count) / 10, :filter => self}) if count > 0
        end

        private

        def find_space_separated_parts text
          text.count(/www\s+\w+\s+com/)
        end

        def find_space_separated_characters text
          count = 0

          text.split(/[a-z][a-z]/).each do |candidate|
            candidate.strip!
            candidate.gsub!(/\s+/, '')
            count += 1 if candidate =~ /\w{5,}\.\w{2,3}/
          end

          count
        end

      end

    end
  end #Content
end #Gluttonberg

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
gluttonberg-core-3.0.2 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-3.0.1 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-3.0.0 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.6.4 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.6.3 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.6.2 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.6.1 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.6.0 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.5.9 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.5.8 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.5.7 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb
gluttonberg-core-2.5.6 lib/gluttonberg/content/despamilator/filter/obfuscated_urls.rb