fidelo-software/laravel-spamshield

v2.1.2 2023-03-22 10:01 UTC

This package is auto-updated.

Last update: 2024-11-22 13:51:03 UTC


README

Installation

Install the package via composer

composer require fidelo-software/laravel-spamshield

Basic usage

Generate spamshield instance with strategies you want to use

$spamshield = new \FideloSoftware\Spam\SpamShield(
    [
        new \FideloSoftware\Spam\Strategies\HoneypotStrategy(3),
        new \FideloSoftware\Spam\Strategies\TimestampStrategy($store, 5),
        new \FideloSoftware\Spam\Strategies\LinkStrategy(0),
        new \FideloSoftware\Spam\Strategies\ValueBlacklistStrategy(['name' => ['John Doe']]),
    ], 
    $store
    $logger // optional
);

Start all strategies onload processes when form is initializing

// Form initialization 
$spamshield->onload($form, $request);

Include all html parts of defined strategies in your form rendering process

// Form rendering
echo $spamshield->html($form);

Execute all strategies on form submit to check for spam

// Submit
try {
    $spamshield->detect($form, $request);
} catch(\FideloSoftware\Spam\Exceptions\BannedException $e) {
    ...
} catch(\FideloSoftware\Spam\Exceptions\SpamDetectionException $e) {
    ...
}

Check user request globally

// Check if user is globally banned after to many attempts
\FideloSoftware\Spam\SpamShield::isBanned($store, $request);