symbiote-library / silverstripe-spamprotection-honeypot
Provide Honeypot spam protection for SilverStripe CMS.
Installs: 17 348
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 17
Open Issues: 0
Type:silverstripe-vendormodule
README
Overview
Provide Honeypot spam protection for SilverStripe CMS. Create a form field hidden from users that invalidates submission if it contains any data. Also invalidate submissions that respond to quickly.
Requirements
- SilverStripe 3.1.0 and newer or 3.2 and newer.
- SilverStripe SpamProtection 1.2 or newer.
Install
Via Composer
Run the following to add this module as a requirement and install it via composer.
$ composer require symbiote-library/silverstripe-spamprotection-honeypot
Manually
Copy the 'silverstripe-spamprotection-honeypot' folder to the root of your SilverStripe installation.
Usage
Create a configuration file spamprotection.yml
in mysite/_config
with the following configuration.
--- name: spamprotection --- SilverStripe\SpamProtection\Extension\FormSpamProtectionExtension: default_spam_protector: '\Symbiote\SilverStripe\SpamProtection\Honeypot\SpamProtector\HoneypotSpamProtector'
Then enable spam protection on your form by calling Form::enableSpamProtection()
.
public function ExampleForm() { $form = new ExampleForm($this, 'Example'); $form->enableSpamProtection(); return $form; }
You can change the amount time that is checked to see if the response is made too quickly with the following configuration.
Symbiote\SilverStripe\SpamProtection\Honeypot\FormField\HoneypotField: time_limit: 1
This example changes the time to 1 second. The default is set to 5 seconds.
Testing
$ phpunit
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email maintainers+library@symbiote.com.au instead of using the issue tracker.
Credits
License
The BSD-2-Clause License. Please see License File for more information.