Download the PHP package silverstripe/spamprotection without Composer
On this page you can find all versions of the php package silverstripe/spamprotection. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download silverstripe/spamprotection
More information about silverstripe/spamprotection
Files in silverstripe/spamprotection
Package spamprotection
Short Description Spam protection module for SilverStripe.
License BSD-3-Clause
Informations about the package spamprotection
SpamProtection Module
Installation
Maintainer Contact
-
Saophalkun Ponlu <phalkunz (at) silverstripe (dot) com>
- Will Rossiter <will (at) fullscreen (dot) io>
Documentation
This module provides a generic, consistent API for adding spam protection to your Silverstripe Forms. This does not provide any spam protection out of the box. For that, you must also download one of the spam protection implementations. Currently available options are:
- reCAPTCHA v2 (two implementations: one, two)
- MathSpamProtection
- Akismet
- Mollom
- Cloudflare Turnstile
As a developer you can also provide your own protector by creating a class which
implements the \SilverStripe\SpamProtection\SpamProtector
interface. More on that below.
Configuring
After installing this module and a protector of your choice (i.e mollom) you'll
need to rebuild your database through dev/build
and set the default protector
via SilverStripe's config system. This will update any Form instances that have
spam protection hooks with that protector.
mysite/_config/spamprotection.yml
To add spam protection to your form instance call enableSpamProtection
.
The logic to perform the actual spam validation is controlled by each of the
individual SpamProtector
implementations since they each require a different
implementation client side or server side.
Options
enableSpamProtection
takes a hash of optional configuration values.
Options to configure are:
-
protector
: a class name string or class instance which implements\SilverStripe\SpamProtection\SpamProtector
. Defaults to yourSilverStripe\SpamProtection\Extension\FormSpamProtectionExtension.default_spam_protector
value. name
: the form field name argument for the Captcha. Defaults toCaptcha
.title
: title of the Captcha form field. Defaults to''
insertBefore
: name of existing field to insert the spam protection field prior tomapping
: an array mapping of the Form fields to the standardised list of field names. The list of standardised fields to pass to the spam protector are:
Defining your own SpamProtector
Any class that implements \SilverStripe\SpamProtection\SpamProtector
and the getFormField()
method can
be set as the spam protector. The getFormField()
method returns the
FormField
to be inserted into the Form
. The FormField
returned should be
in charge of the validation process.
Using Spam Protection with User Forms
This module provides an EditableSpamProtectionField
wrapper which you can add
to your UserForm instances. After installing this module and running /dev/build
to rebuild the database, your Form Builder interface will have an option for
Spam Protection Field
. The type of spam protection used will be based on your
currently selected SpamProtector instance.
Releasing code with Spam Protection support
Spam protection is useful to provide but in some cases we do not want to require the developer to use spam protection. In that case, modules can provide the following pattern: