Search code examples
ruby-on-railsruby-on-rails-3botssimple-formspam

Prevent automated robots submitting forms to ruby on rails application?


What would be a good decent way to fix a form that is submitted everyday numerous times by robots posting all kind of rubbish through it?

I have this beta signup form with a hidden field and a username and password field. This get's submitted numerous times a day and results in error reports in my rails application.

Is there a decent ruby on rails way to prevent robots submitting my forms? I know you can do all kind of stuff in the frontend but most tricks seem to fail ( im using a hidden field trick to check for robots, still they pass there mess true )

EDIT #1:

Adding the form data posted by automated robot. It seems its posting extra form fields even when they are not present in the form.

  • URL : http://mysite.com/beta * IP address: 91.121.170.197 * Parameters: {"utf8"=>"✓", "authenticity_token"=>"8mvHnQgX0krwnymdOeQgd8AP52H/ZrJKjnKcUBGrcMM=", "betum"=>{"code"=>""}, "name"=>"Bryan", "email"=>"[email protected]", "commit"=>"Joignez-vous »", "comment"=>"I need to charge up my phone http://pposchool.com/classes/ \">desirel 50 provided that no more than two of the rotations are involved in non-patient care\n http://sdccpa.com/professionals \">Proventil Hfa Inhaler Cost Goal 6: Promote public health and disease prevention.\n http://hunterdk.com/products-2/ \">cost clomid treatment uk 12. Displays effective nonverbal behaviors (eye contact, body language,\n ", "action"=>"create", "controller"=>"beta"} * Rails root: /srv/myapp/current * Timestamp : 2013-09-03 17:34:10 +0200

Solution

  • How about using captcha in the form.

    Have a look at this simple catcha gem.