breadthe / laravel-silent-spam-filter
Silently filter spam messages based on a custom keyword/keyphrase blacklist.
Installs: 2 045
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 3
Open Issues: 0
Requires
- php: ^7.2.5|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- orchestra/testbench: ^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2024-10-24 08:26:19 UTC
README
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.