{"repo":"markets/invisible_captcha","free":true,"listed":false,"github":"https://github.com/markets/invisible_captcha","clone":"git clone https://github.com/markets/invisible_captcha.git","description":"🍯 Unobtrusive and flexible spam protection for Rails apps","language":"Ruby","stars":1250,"topics":["honeypot","rails","anti-spam","captcha","security","honeypot-field","spam-detection"],"license":"MIT","category":"security-tools","readme_excerpt":"Invisible Captcha Complete and flexible spam protection solution for Rails applications. Invisible Captcha provides different techniques to protect your application against spambots. The main protection is a solution based on the honeypot principle, which provides a better user experience since there are no extra steps for real users, only for the bots. Essentially, the strategy consists on adding an input field :honey pot: into the form that: - shouldn't be visible by the real users - should be left empty by the real users - will most likely be filled by spam bots It also comes with: - a time-sensitive :hourglass: form submission - an IP based :mag: spinner validation Installation Invisible Captcha is tested against Rails = 5.2 and Ruby = 2.7 . Add this line to your Gemfile and then execute bundle install : Usage View code: Controller code: This method will act as a before action that triggers when spam is detected (honeypot field has some value). By default, it responds with no content (only headers: head(200) ). This is a good default, since the bot will surely read the response code and will think that it has achieved to submit the form properly. But, anyway, you can define your own callback by passing a method to the on spam option: You should not name your method on spam , as this will collide with an internal method of the same name. Note that it is not mandatory to specify a honeypot attribute (neither in the view nor in the controller). In this case, the engine will ","default_branch":null,"files":null,"tree":[],"storefront":"/r/markets","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/markets/invisible_captcha/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}