This module works by adding a normal text field which is visually hidden. The field is invalid when it's not empty. Bot will likely fill out the field, because they don't process css.
- SilverStripe 5.x (for SilverStripe 4.x use 4.x Branch)
- SpamProtection Module
Install via composer.
composer require jbennecker/silverstripe-honeypotprotection
Set the default spam protector in a .yml config file of your choice.
SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension:
default_spam_protector: jbennecker\HoneypotProtection\HoneypotProtector
In custom forms add the field like this
use jbennecker\HoneypotProtection\HoneypotProtectorField;
....
$fields = new FieldList(
....
HoneypotProtectorField::create('Phone') // Change title accordingly
)
For userforms simply add a spamprotector-field.