acts_as_textcaptcha 3.0.10 → 3.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/acts_as_textcaptcha/textcaptcha.rb +11 -0
- data/lib/acts_as_textcaptcha/version.rb +1 -1
- metadata +152 -132
- checksums.yaml +0 -7
@@ -68,6 +68,8 @@ module ActsAsTextcaptcha
|
|
68
68
|
|
69
69
|
# generate textcaptcha question and encrypt possible spam_answers
|
70
70
|
def textcaptcha
|
71
|
+
show_deprecation_warning
|
72
|
+
|
71
73
|
return if !perform_textcaptcha? || validate_spam_answer
|
72
74
|
self.spam_answer = nil
|
73
75
|
|
@@ -111,6 +113,15 @@ module ActsAsTextcaptcha
|
|
111
113
|
|
112
114
|
private
|
113
115
|
|
116
|
+
def show_deprecation_warning
|
117
|
+
warning_message = "
|
118
|
+
[warning] ** ActsAsTextcaptcha - gem versions prior to v4.0.0 are VUNERABLE TO SPAM CHECK BY-PASSING, please upgrade gem to v4.0.0 (or higher) **
|
119
|
+
[warning] ** ActsAsTextcaptcha - see here for details: https://github.com/matthutchinson/acts_as_textcaptcha/issues/15 **\n"
|
120
|
+
Rails.logger.warn warning_message
|
121
|
+
rescue
|
122
|
+
puts warning_message
|
123
|
+
end
|
124
|
+
|
114
125
|
def parse_textcaptcha_xml(xml)
|
115
126
|
if defined?(ActiveSupport::XmlMini)
|
116
127
|
parsed_xml = ActiveSupport::XmlMini.parse(xml)['captcha']
|
metadata
CHANGED
@@ -1,155 +1,165 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: acts_as_textcaptcha
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 17
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 3
|
8
|
+
- 0
|
9
|
+
- 11
|
10
|
+
version: 3.0.11
|
5
11
|
platform: ruby
|
6
|
-
authors:
|
12
|
+
authors:
|
7
13
|
- Matthew Hutchinson
|
8
14
|
autorequire:
|
9
15
|
bindir: bin
|
10
|
-
cert_chain:
|
16
|
+
cert_chain:
|
11
17
|
- gem-public_cert.pem
|
12
|
-
date:
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
18
|
+
date: 2014-01-02 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: bcrypt-ruby
|
16
|
-
|
17
|
-
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
18
25
|
- - ~>
|
19
|
-
- !ruby/object:Gem::Version
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 5
|
28
|
+
segments:
|
29
|
+
- 3
|
30
|
+
- 0
|
31
|
+
- 1
|
20
32
|
version: 3.0.1
|
21
|
-
type: :runtime
|
22
33
|
prerelease: false
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
version: 3.0.1
|
28
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
type: :runtime
|
35
|
+
requirement: *id001
|
36
|
+
- !ruby/object:Gem::Dependency
|
29
37
|
name: rails
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
38
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
36
47
|
prerelease: false
|
37
|
-
version_requirements: !ruby/object:Gem::Requirement
|
38
|
-
requirements:
|
39
|
-
- - '>='
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version: '0'
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: bundler
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - '>='
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: '0'
|
49
48
|
type: :development
|
49
|
+
requirement: *id002
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: bundler
|
52
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
50
61
|
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - '>='
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: '0'
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: minitest
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
59
|
-
requirements:
|
60
|
-
- - '>='
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
63
62
|
type: :development
|
63
|
+
requirement: *id003
|
64
|
+
- !ruby/object:Gem::Dependency
|
65
|
+
name: minitest
|
66
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
64
75
|
prerelease: false
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: simplecov
|
72
|
-
requirement: !ruby/object:Gem::Requirement
|
73
|
-
requirements:
|
74
|
-
- - '>='
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0'
|
77
76
|
type: :development
|
77
|
+
requirement: *id004
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: simplecov
|
80
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
86
|
+
segments:
|
87
|
+
- 0
|
88
|
+
version: "0"
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - '>='
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0'
|
84
|
-
- !ruby/object:Gem::Dependency
|
85
|
-
name: rdoc
|
86
|
-
requirement: !ruby/object:Gem::Requirement
|
87
|
-
requirements:
|
88
|
-
- - '>='
|
89
|
-
- !ruby/object:Gem::Version
|
90
|
-
version: '0'
|
91
90
|
type: :development
|
91
|
+
requirement: *id005
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
name: rdoc
|
94
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
95
|
+
none: false
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
version: "0"
|
92
103
|
prerelease: false
|
93
|
-
version_requirements: !ruby/object:Gem::Requirement
|
94
|
-
requirements:
|
95
|
-
- - '>='
|
96
|
-
- !ruby/object:Gem::Version
|
97
|
-
version: '0'
|
98
|
-
- !ruby/object:Gem::Dependency
|
99
|
-
name: sqlite3
|
100
|
-
requirement: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - '>='
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
105
104
|
type: :development
|
105
|
+
requirement: *id006
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: sqlite3
|
108
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
hash: 3
|
114
|
+
segments:
|
115
|
+
- 0
|
116
|
+
version: "0"
|
106
117
|
prerelease: false
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
requirements:
|
109
|
-
- - '>='
|
110
|
-
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
112
|
-
- !ruby/object:Gem::Dependency
|
113
|
-
name: fakeweb
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
115
|
-
requirements:
|
116
|
-
- - '>='
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
118
|
type: :development
|
119
|
+
requirement: *id007
|
120
|
+
- !ruby/object:Gem::Dependency
|
121
|
+
name: fakeweb
|
122
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
hash: 3
|
128
|
+
segments:
|
129
|
+
- 0
|
130
|
+
version: "0"
|
120
131
|
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: strong_parameters
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
requirements:
|
130
|
-
- - '>='
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
version: '0'
|
133
132
|
type: :development
|
133
|
+
requirement: *id008
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
name: strong_parameters
|
136
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
hash: 3
|
142
|
+
segments:
|
143
|
+
- 0
|
144
|
+
version: "0"
|
134
145
|
prerelease: false
|
135
|
-
|
136
|
-
|
137
|
-
- - '>='
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
version: '0'
|
146
|
+
type: :development
|
147
|
+
requirement: *id009
|
140
148
|
description: |-
|
141
149
|
Simple question/answer based spam protection for your Rails models.
|
142
150
|
You can define your own logic questions and/or fetch questions from the textcaptcha.com API.
|
143
151
|
The questions involve human logic and are tough for spam bots to crack.
|
144
152
|
For more reasons on why logic questions are a good idea visit; http://textcaptcha.com/why
|
145
|
-
email:
|
153
|
+
email:
|
146
154
|
- matt@hiddenloop.com
|
147
155
|
executables: []
|
156
|
+
|
148
157
|
extensions: []
|
149
|
-
|
158
|
+
|
159
|
+
extra_rdoc_files:
|
150
160
|
- README.rdoc
|
151
161
|
- LICENSE
|
152
|
-
files:
|
162
|
+
files:
|
153
163
|
- .gitignore
|
154
164
|
- .travis.yml
|
155
165
|
- Gemfile
|
@@ -174,26 +184,36 @@ files:
|
|
174
184
|
- test/textcaptcha_test.rb
|
175
185
|
homepage: http://github.com/matthutchinson/acts_as_textcaptcha
|
176
186
|
licenses: []
|
177
|
-
|
187
|
+
|
178
188
|
post_install_message:
|
179
189
|
rdoc_options: []
|
180
|
-
|
190
|
+
|
191
|
+
require_paths:
|
181
192
|
- lib
|
182
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
193
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
hash: 3
|
199
|
+
segments:
|
200
|
+
- 0
|
201
|
+
version: "0"
|
202
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
204
|
+
requirements:
|
205
|
+
- - ">="
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
hash: 3
|
208
|
+
segments:
|
209
|
+
- 0
|
210
|
+
version: "0"
|
192
211
|
requirements: []
|
212
|
+
|
193
213
|
rubyforge_project:
|
194
|
-
rubygems_version:
|
214
|
+
rubygems_version: 1.8.25
|
195
215
|
signing_key:
|
196
|
-
specification_version:
|
197
|
-
summary: Spam protection for your models via logic questions and the textcaptcha.com
|
198
|
-
API
|
216
|
+
specification_version: 3
|
217
|
+
summary: Spam protection for your models via logic questions and the textcaptcha.com API
|
199
218
|
test_files: []
|
219
|
+
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 783766a84298a42798484b852040de382abf0ce7
|
4
|
-
data.tar.gz: ec36af87548e5d751996554bfe1ecee970eb29b9
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: f2cef4801d4731d812dac442cdef0c5a66f2a3bc23267fe253594a8e1e6533882c44cd9c50c33714bde373f697330068a7dee2edd217293eb054b99fa0905ed3
|
7
|
-
data.tar.gz: 454ec050f2eb969c93e76c0bd8a692ac5d8434a88b271d10f9d54c7581105b5955a3db6aa3be41dce4c2721ad068df53217833e9bd19d526a82d7a8f52e52299
|