Add custom offenses list to determine if safe or not

master
Guillaume DOTT 2013-01-04 17:22:00 +01:00
parent 1a3eeaf4cf
commit e0b488868a
2 changed files with 10 additions and 3 deletions

View File

@ -6,7 +6,7 @@ require "project_honeypot/rack/forbidden"
module ProjectHoneypot module ProjectHoneypot
class << self class << self
attr_accessor :api_key, :score, :last_activity attr_accessor :api_key, :score, :last_activity, :offenses
def api_key def api_key
raise "ProjectHoneypot really needs its api_key set to work" unless @api_key raise "ProjectHoneypot really needs its api_key set to work" unless @api_key

View File

@ -27,11 +27,18 @@ module ProjectHoneypot
score = hash[:score] || ProjectHoneypot.score score = hash[:score] || ProjectHoneypot.score
last_activity = hash[:last_activity] || ProjectHoneypot.last_activity last_activity = hash[:last_activity] || ProjectHoneypot.last_activity
forbidden_offenses = hash[:offenses] ||
ProjectHoneypot.offenses ||
[:comment_spammer, :harvester, :suspicious]
detected_offenses = forbidden_offenses & @offenses
@safe || @safe ||
detected_offenses.length == 0 ||
!( !(
last_activity.nil? && score.nil? || last_activity.nil? && score.nil? ||
!score.nil? && self.score > score || !score.nil? && self.score >= score ||
!last_activity.nil? && self.last_activity > last_activity !last_activity.nil? && self.last_activity >= last_activity
) )
end end