breadthe/laravel-silent-spam-filter

Silently filter spam messages based on a custom keyword/keyphrase blacklist.
2,561 9
Install
composer require breadthe/laravel-silent-spam-filter
Latest Version:1.2.0
PHP:^7.2.5|^8.0
License:MIT
Last Updated:Feb 24, 2021
Links: GitHub  ·  Packagist
Maintainer: breadthe

Laravel Silent Spam Filter

license packagist build code quality downloads

A simple way to filter a message for spam in a Laravel project, based on your own custom keyword and phrase blacklist. It is useful in silently ignoring messages submitted via contact forms, without alerting the spammer that the message went through.

By default it comes with virtually zero configuration, which means you'll have to add your own keywords and phrases to the blacklist.

Installation

You can install the package via composer:

composer require breadthe/laravel-silent-spam-filter

Optionally publish the configuration file config/silentspam.php:

php artisan vendor:publish --provider="Breadthe\SilentSpam\SilentSpamServiceProvider" --tag="silentspam-config"

Configuration

If you published the configuration file config/silentspam.php you can add additional entries to the blacklist key, or overwrite the sample entries.

At runtime you can use SilentSpam::blacklist([]) to add additional keywords, that will get merged with the list in the configuration. This can be useful if you want to keep a global blacklist in the config, but also add custom lists depending on the context when checking for spam.

Usage

$spamMessage = 'This message contains spam';
$normalMessage = 'This is a normal message';

SilentSpam::blacklist([
    'contains spam',
]);

SilentSpam::isSpam($spamMessage); // true
SilentSpam::notSpam($spamMessage); // false

SilentSpam::isSpam($spamMessage); // false
SilentSpam::notSpam($spamMessage); // true

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email omigoshdev@protonmail.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

634,760,849 9,707
laravel/framework

The Laravel Framework.

584,532,650 34,931
laravel/tinker

Powerful REPL for the Laravel framework.

493,838,477 7,443
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

408,553,772 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

387,976,821 4,658