CAPTCHA Form Spam Detection¶
There are three options we can implement to prevent your receiving spam from automated scripts. These are generally called CAPTCHAs - Completely Automated (Turing) Test to tell Computers and Humans Apart.
The primary objective of these is to make it so that only human users can submit information.
These can be implemented not only on your Contact form, but also customers signups, newsletter subscriptions etc.
Magento's default Captcha¶
Magento comes with its own CAPTCHA in the classic mangled letters format. These can be enabled out of the box on most forms in Magento with just a few settings changes.
Crucially though it's omitted from the Contact form. Our extension extends this functionality to cover that.
This is obviously the simplest option, but isn't very user friendly.
Honeypot Spam Detection¶
The Honeypot method is slightly different to others in that it doesn't present the user with a test that determines if it's human. Instead it adds an extra field which is hidden to human users, but visible to automated scripts. This can be done by hiding the field when the page loads, or renaming form fields' internal IDs.
If the form is submitted with a value in one of these hidden fields, we can be fairly sure it's not a human, so we reject its input and discard the data.
We can implement this on your site with some simple code customisations.
This is the most user friendly option as humans don't even see it happening, but as scripts get cleverer they get more adept at seeing these tricks.
Recpatcha is a Google service you might have seen which analyses things like your mouse movements, scrolling habits etc and takes a guess at how human you are. If it determines your behaviour matches a human when you tick the box, it'll allow you to proceed. If it thinks you might be a robot, it presents you with a challenge such as "Click the tiles with road signs in them", which you have to get right to proceed.
We can implement this with an off the shelf extension.
This is a good compromise between reliability and user friendliness.