symbiote-library/silverstripe-spamprotection-honeypot

Provide Honeypot spam protection for SilverStripe CMS.

2.0.1 2018-06-12 05:57 UTC

This package is auto-updated.

Last update: 2024-10-29 03:48:23 UTC


README

Latest Version on Packagist Software License 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 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.