studiobonito/silverstripe-spamprotection-honeypot

Provide Honeypot spam protection for SilverStripe CMS.

1.1.2 2016-02-17 11:05 UTC

README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

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 studiobonito/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
---
FormSpamProtectionExtension:
  default_spam_protector: '\StudioBonito\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.

StudioBonito\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 support@studiobonito.co.uk instead of using the issue tracker.

Credits

License

The BSD-2-Clause License. Please see License File for more information.