honeypot-captcha 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2dd95647b6ac0f214feeac282a66d4e683c87def
4
+ data.tar.gz: 75dba6af51866d8c4fb4bbd65039a2c77a9bc94e
5
+ SHA512:
6
+ metadata.gz: cc2c415f608f2cb8b914bb5d7362e7d3a9d750a877b3066617fe193216e1edb868ba8fa2bda78cf7f654db824d651829fc8f2e05f7c307e399902cb385ec05ec
7
+ data.tar.gz: a99e693dac0fd01e1e82214f4c5c4df5a018d8706c2131c2de64d58b7c44646c19fcaf2224c4ed5ee16b964fc7dc2bf9e7e57e56cbe5e700fb57e02f8a070807
@@ -1,6 +1,6 @@
1
1
  # Honeypot Captcha
2
2
 
3
- A simple way to add honeypot captchas in your Rails forms.
3
+ **The simplest way to add honeypot captchas in your Rails forms.**
4
4
 
5
5
  Honeypot captchas work off the premise that you can present different form
6
6
  fields to a spam bot than you do to a real user. Spam bots will typically try
@@ -12,17 +12,23 @@ submitted with values. If they are, we assume that we encountered a spam bot.
12
12
  * [Honeypot Captcha by Phil Haack](http://haacked.com/archive/2007/09/11/honeypot-captcha.aspx)
13
13
  * [Stopping spambots with hashes and honeypots](http://nedbatchelder.com/text/stopbots.html)
14
14
 
15
+ ## Installation
16
+
17
+ In your Gemfile, simply add
18
+
19
+ gem 'honeypot-captcha'
15
20
 
16
21
  ## Usage
17
22
 
18
23
  I've tried to make it pretty simple to add a honeypot captcha, but I'm open to
19
- any suggestions you may have.
24
+ any suggestions you may have. By default, `create` and `update` actions are
25
+ protected. For other actions, see [below](#protection-for-actions-other-than-create-and-update).
20
26
 
21
27
  ### form_for
22
28
 
23
29
  Simply specify that the form has a honeypot in the HTML options hash:
24
30
 
25
- <% form_for Comment.new, :html => { :honeypot => true } do |form| -%>
31
+ <%= form_for Comment.new, :html => { :honeypot => true } do |form| -%>
26
32
  ...
27
33
  <% end -%>
28
34
 
@@ -30,7 +36,7 @@ Simply specify that the form has a honeypot in the HTML options hash:
30
36
 
31
37
  Simply specify that the form has a honeypot in the options hash:
32
38
 
33
- <% form_tag comments_path, :honeypot => true do -%>
39
+ <%= form_tag comments_path, :honeypot => true do -%>
34
40
  ...
35
41
  <% end -%>
36
42
 
@@ -42,8 +48,31 @@ Simply specify that the form has a honeypot in the options hash:
42
48
  ...
43
49
  </form>
44
50
 
51
+ ### Protection for actions other than `create` and `update`
52
+
53
+ If you are submitting a form to a non-RESTful action and require
54
+ honeypot protection, simply add the before filter for that action
55
+ in your controller. For example:
56
+
57
+ class NewsletterController < ApplicationController
58
+ prepend_before_filter :protect_from_spam, :only => [:subscribe]
59
+ ...
60
+ end
61
+
62
+ ### Customizing the honeypot fields
63
+
64
+ Override the `honeypot_fields` method within `ApplicationController` to
65
+ add your own custom field names and values. For example:
66
+
67
+ def honeypot_fields
68
+ {
69
+ :my_custom_comment_body => 'Do not fill in this field, sucka!',
70
+ :another_thingy => 'Really... do not fill out!'
71
+ }
72
+ end
73
+
45
74
  ## Note on Patches/Pull Requests
46
-
75
+
47
76
  * Fork the project.
48
77
  * Make your feature addition or bug fix.
49
78
  * Add tests for it. This is important so I don't break it in a future version unintentionally.
@@ -51,12 +80,14 @@ Simply specify that the form has a honeypot in the options hash:
51
80
  * Send me a pull request. Bonus points for topic branches.
52
81
 
53
82
  ## Author
54
-
55
- Written by [Curtis Miller](http://millarian.com) of [Flatterline](http://flatterline.com)
83
+ Created by [Curtis Miller](http://millarian.com) of Velocity Labs, a
84
+ [Ruby on Rails development company](http://velocitylabs.io).
56
85
 
57
86
  ### Contributors
58
87
 
59
88
  * [Eric Saxby](http://github.com/sax)
89
+ * [Bernard Grymonpon](https://github.com/wonko)
90
+ * [Dave Tapley](https://github.com/dukedave)
60
91
 
61
92
  ## Copyright
62
93
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -2,9 +2,9 @@
2
2
  module ActionView
3
3
  module Helpers
4
4
  module FormTagHelper
5
- def form_tag_with_honeypot(url_for_options = {}, options = {}, *parameters_for_url, &block)
6
- honeypot = options.delete(:honeypot)
7
- html = form_tag_without_honeypot(url_for_options, options, *parameters_for_url, &block)
5
+ def form_tag_html_with_honeypot(options)
6
+ honeypot = options.delete(:honeypot) || options.delete('honeypot')
7
+ html = form_tag_html_without_honeypot(options)
8
8
  if honeypot
9
9
  captcha = "".respond_to?(:html_safe) ? honey_pot_captcha.html_safe : honey_pot_captcha
10
10
  if block_given?
@@ -15,7 +15,7 @@ module ActionView
15
15
  end
16
16
  html
17
17
  end
18
- alias_method_chain :form_tag, :honeypot
18
+ alias_method_chain :form_tag_html, :honeypot
19
19
 
20
20
  private
21
21
 
@@ -34,4 +34,4 @@ module ActionView
34
34
  end
35
35
  end
36
36
  end
37
- end
37
+ end
metadata CHANGED
@@ -1,71 +1,119 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: honeypot-captcha
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 2
9
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - curtis
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2010-05-23 00:00:00 -07:00
18
- default_executable:
19
- dependencies: []
20
-
11
+ date: 2015-02-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 2.8.0
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.8.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.12'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: jeweler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.0.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.0.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
21
83
  description: A simple way to add honeypot captchas to Rails forms
22
- email: curtis@flatterline.com
84
+ email: curtis@velocitylabs.io
23
85
  executables: []
24
-
25
86
  extensions: []
26
-
27
- extra_rdoc_files:
87
+ extra_rdoc_files:
28
88
  - LICENSE
29
89
  - README.markdown
30
- files:
31
- - .document
32
- - .gitignore
90
+ files:
33
91
  - LICENSE
34
92
  - README.markdown
35
- - Rakefile
36
93
  - VERSION
37
- - honeypot-captcha.gemspec
38
94
  - lib/honeypot-captcha.rb
39
95
  - lib/honeypot-captcha/form_tag_helper.rb
40
- has_rdoc: true
41
96
  homepage: http://github.com/curtis/honeypot-captcha
42
97
  licenses: []
43
-
98
+ metadata: {}
44
99
  post_install_message:
45
- rdoc_options:
46
- - --charset=UTF-8
47
- require_paths:
100
+ rdoc_options: []
101
+ require_paths:
48
102
  - lib
49
- required_ruby_version: !ruby/object:Gem::Requirement
50
- requirements:
103
+ required_ruby_version: !ruby/object:Gem::Requirement
104
+ requirements:
51
105
  - - ">="
52
- - !ruby/object:Gem::Version
53
- segments:
54
- - 0
55
- version: "0"
56
- required_rubygems_version: !ruby/object:Gem::Requirement
57
- requirements:
106
+ - !ruby/object:Gem::Version
107
+ version: '0'
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
58
110
  - - ">="
59
- - !ruby/object:Gem::Version
60
- segments:
61
- - 0
62
- version: "0"
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
63
113
  requirements: []
64
-
65
114
  rubyforge_project:
66
- rubygems_version: 1.3.6
115
+ rubygems_version: 2.4.5
67
116
  signing_key:
68
- specification_version: 3
117
+ specification_version: 4
69
118
  summary: A simple way to add honeypot captchas to Rails forms
70
119
  test_files: []
71
-
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
data/Rakefile DELETED
@@ -1,45 +0,0 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "honeypot-captcha"
8
- gem.summary = %Q{A simple way to add honeypot captchas to Rails forms}
9
- gem.description = %Q{A simple way to add honeypot captchas to Rails forms}
10
- gem.email = "curtis@flatterline.com"
11
- gem.homepage = "http://github.com/curtis/honeypot-captcha"
12
- gem.authors = ["curtis"]
13
- # gem.add_development_dependency "rspec", ">= 1.2.9"
14
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
- end
16
- Jeweler::GemcutterTasks.new
17
- rescue LoadError
18
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
19
- end
20
-
21
- require 'spec/rake/spectask'
22
- Spec::Rake::SpecTask.new(:spec) do |spec|
23
- spec.libs << 'lib' << 'spec'
24
- spec.spec_files = FileList['spec/**/*_spec.rb']
25
- end
26
-
27
- Spec::Rake::SpecTask.new(:rcov) do |spec|
28
- spec.libs << 'lib' << 'spec'
29
- spec.pattern = 'spec/**/*_spec.rb'
30
- spec.rcov = true
31
- end
32
-
33
- task :spec => :check_dependencies
34
-
35
- task :default => :spec
36
-
37
- require 'rake/rdoctask'
38
- Rake::RDocTask.new do |rdoc|
39
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
-
41
- rdoc.rdoc_dir = 'rdoc'
42
- rdoc.title = "honeypot-captcha #{version}"
43
- rdoc.rdoc_files.include('README*')
44
- rdoc.rdoc_files.include('lib/**/*.rb')
45
- end
@@ -1,46 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{honeypot-captcha}
8
- s.version = "0.0.2"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["curtis"]
12
- s.date = %q{2010-05-23}
13
- s.description = %q{A simple way to add honeypot captchas to Rails forms}
14
- s.email = %q{curtis@flatterline.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.markdown"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.markdown",
24
- "Rakefile",
25
- "VERSION",
26
- "honeypot-captcha.gemspec",
27
- "lib/honeypot-captcha.rb",
28
- "lib/honeypot-captcha/form_tag_helper.rb"
29
- ]
30
- s.homepage = %q{http://github.com/curtis/honeypot-captcha}
31
- s.rdoc_options = ["--charset=UTF-8"]
32
- s.require_paths = ["lib"]
33
- s.rubygems_version = %q{1.3.6}
34
- s.summary = %q{A simple way to add honeypot captchas to Rails forms}
35
-
36
- if s.respond_to? :specification_version then
37
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
38
- s.specification_version = 3
39
-
40
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
41
- else
42
- end
43
- else
44
- end
45
- end
46
-