nickurt / laravel-stopforumspam
StopForumSpam for Laravel 10.x/11.x
Installs: 28 130
Dependents: 0
Suggesters: 0
Security: 0
Stars: 68
Watchers: 4
Forks: 5
Open Issues: 0
Requires
- php: ^8.2
- guzzlehttp/guzzle: ^7.8.1
- laravel/framework: ^10.0|^11.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.5.12
README
Installation
Install this package with composer:
composer require nickurt/laravel-stopforumspam
Copy the config files for the StopForumSpam-plugin
php artisan vendor:publish --provider="nickurt\StopForumSpam\ServiceProvider" --tag="config"
Examples
Validation Rule - IsSpamEmail
// FormRequest ... public function rules() { return [ 'email' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamEmail(20)] ]; } // Manually ... $validator = validator()->make(request()->all(), ['email' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamEmail(20)]]);
The IsSpamEmail
-rule has one optional paramter frequency
(default 10) to validate the request.
Validation Rule - IsSpamIp
// FormRequest ... public function rules() { return [ 'ip' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamIp(20)] ]; } // Manually ... $validator = validator()->make(request()->all(), ['ip' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamIp(20)]]);
The IsSpamIp
-rule has one optional paramter frequency
(default 10) to validate the request.
Validation Rule - IsSpamUsername
// FormRequest ... public function rules() { return [ 'username' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamUsername(20)] ]; } // Manually ... $validator = validator()->make(request()->all(), ['username' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamUsername(20)]]);
The IsSpamUsername
-rule has one optional paramter frequency
(default 10) to validate the request.
Manually Usage - IsSpamEmail
\StopForumSpam::setEmail('nickurt@users.noreply.github.com')->isSpamEmail();
Manually Usage - IsSpamIp
\StopForumSpam::setIp('8.8.8.8')->isSpamIp();
Manually Usage - IsSpamUsername
\StopForumSpam::setUsername('nickurt')->isSpamUsername();
Events
You can listen to the IsSpamEmail
, IsSpamIp
and IsSpamUsername
events, e.g. if you want to log all the IsSpam
-requests in your application
IsSpamEmail Event
This event will be fired when the request-email is above the frequency of sending spam
nickurt\StopForumSpam\Events\IsSpamEmail
IsSpamIp Event
This event will be fired when the request-ip is above the frequency of sending spam
nickurt\StopForumSpam\Events\IsSpamIp
IsSpamUsername Event
This event will be fired when the request-username is above the frequency of sending spam
nickurt\StopForumSpam\Events\IsSpamUsername
Tests
composer test