I wanted to try to use the honey pot captcha technique to combat spam on my site. This technique includes a field on each form, hides it off the page with CSS and then validates on the back end to make sure it’s not filled in.
This addon validates Freeform, Safecracker, EE Member Registration, EE Member login, Zoo Visitor Registration, ProForm, Solspace User Registration, and EE comment forms.
Hon-ee Pot Captcha is built to run on EE 2.0. To install:
- Copy honeepot into your /system/expressionengine/third_party/ directory.
- Go to Add-ons → Extensions and “Enable extension.”
- You can customize the field name for the honey pot field and the message a user receives if the field is filled in by going to the extension settings.
<li class="screen-reader"> <label for="honeepot">Don't put anything here</label> <input type="text" name="honeepot" id="honeepot" /> </li>
In my CSS, I have a class to move things off of the page:
.screen-reader { display: block !important; left: -9999px !important; position: absolute !important; }
In your form, add the honey pot field. Make sure the name of the form field matches the name in the Hon-ee Pot Captcha settings.
Follow the same steps as the Freeform forms, except you do not have to create the field in Freeform.
Doesn’t show error when using inline validation, but still protects the entry from being submitted.
If you want to override the extension settings, you can with the following config overrides
$config['honeepot_field'] = 'honeepot'; $config['honeepot_error'] = 'Sorry, but we think you might be a robot.';