perf/spam-detection

This package is abandoned and no longer maintained. No replacement package was suggested.

Allows spam detection from suspicious form submissions.

2.0.0 2023-11-01 03:13 UTC

This package is auto-updated.

Last update: 2024-05-09 04:18:04 UTC


README

Allows detection of spam from contact forms, etc.

Installation

composer require perf/spam-detection

Configuration

Implement a spam key word repository, such as this one:

use perf\SpamDetection\SpamKeyword;
use perf\SpamDetection\SpamKeywordRepositoryInterface;

class SpamKeywordRepository implements SpamKeywordRepositoryInterface
{
    public function getSpamKeywords(): iterable
    {
        return [
            new SpamKeyword('viagra', 150),
            new SpamKeyword('casino', 100),
        ];       
    }
}

Usage

Now you can detect spam:

use perf\SpamDetection\SpamEvaluator;

$spamEvaluator = new SpamEvaluator(
    new SpamKeywordRepository(),
    100 // Threshold
);

$submittedContent = 'Buy Viagra, and then go to the casino.'

$outcome = $spamEvaluator->evaluate($submittedContent);

if ($outcome->isSpam()) {
    echo "This is definitely spam.";
}