validates_against_stopforumspam 1.1 → 1.2
Sign up to get free protection for your applications and to get access to all the features.
@@ -21,14 +21,18 @@ module ValidatesAgainstStopForumSpam
|
|
21
21
|
return if query_options.empty?
|
22
22
|
|
23
23
|
url = "http://www.stopforumspam.com/api?" + query_options.join('&')
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
24
|
+
if Rails.env.production?
|
25
|
+
logger.info "Querying StopForumSpam: #{url}"
|
26
|
+
begin
|
27
|
+
response = Hash.from_xml(Net::HTTP.get(URI.parse(url)))
|
28
|
+
logger.debug response.inspect
|
29
|
+
errors.add :base, :spam_according_to_stopforumspam if [ response["response"]["appears"] ].flatten.include?("yes")
|
30
|
+
rescue StandardError => e
|
31
|
+
logger.warn "Couldn't validate against StopForumSpam: + #{e.message}"
|
32
|
+
end
|
33
|
+
else
|
34
|
+
logger.info "Would query StopForumSpam: #{url} in production mode"
|
35
|
+
end
|
32
36
|
end
|
33
37
|
end
|
34
38
|
end
|
data/test/dummy/log/test.log
CHANGED
@@ -682,3 +682,69 @@ Querying StopForumSpam: http://www.stopforumspam.com/api?ip=1.2.3.4
|
|
682
682
|
Querying StopForumSpam: http://www.stopforumspam.com/api?username=spammer
|
683
683
|
{"response"=>{"success"=>"true", "type"=>"username", "appears"=>"yes", "lastseen"=>"2012-10-10 14:40:04", "frequency"=>"19"}}
|
684
684
|
[1m[35m (0.0ms)[0m rollback transaction
|
685
|
+
Connecting to database specified by database.yml
|
686
|
+
[1m[36m (0.4ms)[0m [1mbegin transaction[0m
|
687
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?email=surely@not-spam-but-ham.com in production mode
|
688
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
689
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
690
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?ip=127.0.0.1 in production mode
|
691
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
692
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
693
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?username=i-only-submit-ham in production mode
|
694
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
695
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
696
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?email=test@test.com in production mode
|
697
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
698
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
699
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?email=test@test.com&ip=1.2.3.4 in production mode
|
700
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
701
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
702
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?ip=1.2.3.4 in production mode
|
703
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
704
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
705
|
+
Would query StopForumSpam: http://www.stopforumspam.com/api?username=spammer in production mode
|
706
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
707
|
+
Connecting to database specified by database.yml
|
708
|
+
[1m[36m (0.4ms)[0m [1mbegin transaction[0m
|
709
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
710
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
711
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
712
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
713
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
714
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
715
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
716
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
717
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
718
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
719
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
720
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
721
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
722
|
+
Connecting to database specified by database.yml
|
723
|
+
[1m[36m (0.4ms)[0m [1mbegin transaction[0m
|
724
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?email=surely@not-spam-but-ham.com
|
725
|
+
{"response"=>{"success"=>"true", "type"=>"email", "appears"=>"no", "frequency"=>"0"}}
|
726
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
727
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
728
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?ip=127.0.0.1
|
729
|
+
{"response"=>{"success"=>"true", "type"=>"ip", "appears"=>"no", "frequency"=>"0"}}
|
730
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
731
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
732
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?username=i-only-submit-ham
|
733
|
+
{"response"=>{"success"=>"true", "type"=>"username", "appears"=>"no", "frequency"=>"0"}}
|
734
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
735
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
736
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?email=test@test.com
|
737
|
+
{"response"=>{"success"=>"true", "type"=>"email", "appears"=>"yes", "lastseen"=>"2012-11-02 11:05:43", "frequency"=>"1318"}}
|
738
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
739
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
740
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?email=test@test.com&ip=1.2.3.4
|
741
|
+
{"response"=>{"success"=>"true", "type"=>["email", "ip"], "appears"=>["yes", "yes"], "lastseen"=>["2012-11-02 11:05:43", "2012-09-04 08:34:47"], "frequency"=>["1318", "9"]}}
|
742
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
743
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
744
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?ip=1.2.3.4
|
745
|
+
{"response"=>{"success"=>"true", "type"=>"ip", "appears"=>"yes", "lastseen"=>"2012-09-04 08:34:47", "frequency"=>"9"}}
|
746
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
747
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
748
|
+
Querying StopForumSpam: http://www.stopforumspam.com/api?username=spammer
|
749
|
+
{"response"=>{"success"=>"true", "type"=>"username", "appears"=>"yes", "lastseen"=>"2012-10-10 14:40:04", "frequency"=>"19"}}
|
750
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validates_against_stopforumspam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '1.
|
4
|
+
version: '1.2'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-11-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &17198217340 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>'
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *17198217340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: sqlite3
|
27
|
-
requirement: &
|
27
|
+
requirement: &17198216240 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *17198216240
|
36
36
|
description:
|
37
37
|
email:
|
38
38
|
- hirner@bitfire.at
|
@@ -97,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
97
|
version: '0'
|
98
98
|
segments:
|
99
99
|
- 0
|
100
|
-
hash:
|
100
|
+
hash: 3644527714821557048
|
101
101
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
102
|
none: false
|
103
103
|
requirements:
|
@@ -106,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
106
|
version: '0'
|
107
107
|
segments:
|
108
108
|
- 0
|
109
|
-
hash:
|
109
|
+
hash: 3644527714821557048
|
110
110
|
requirements: []
|
111
111
|
rubyforge_project:
|
112
112
|
rubygems_version: 1.8.11
|