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"
// 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.
// 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.
// 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.
\StopForumSpam::setEmail('[email protected]')->isSpamEmail();
\StopForumSpam::setIp('8.8.8.8')->isSpamIp();
\StopForumSpam::setUsername('nickurt')->isSpamUsername();
You can listen to the IsSpamEmail
, IsSpamIp
and IsSpamUsername
events, e.g. if you want to log all the IsSpam
-requests in your application
This event will be fired when the request-email is above the frequency of sending spam
nickurt\StopForumSpam\Events\IsSpamEmail
This event will be fired when the request-ip is above the frequency of sending spam
nickurt\StopForumSpam\Events\IsSpamIp
This event will be fired when the request-username is above the frequency of sending spam
nickurt\StopForumSpam\Events\IsSpamUsername
composer test