vigstudio / laravel-stopforumspam
Laravel 8.x/9.x 的 StopForumSpam
1.0.0.1
2023-02-15 03:02 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.2
- laravel/framework: ^8.0|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: ^6.6|^7.0|^8.0
- phpunit/phpunit: ^9.5.8|^10.0
This package is auto-updated.
Last update: 2024-09-15 06:33:49 UTC
README
安装
使用 composer 安装此包
composer require nickurt/laravel-stopforumspam
复制 StopForumSpam 插件的配置文件
php artisan vendor:publish --provider="nickurt\StopForumSpam\ServiceProvider" --tag="config"
示例
验证规则 - 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)]]);
IsSpamEmail 规则有一个可选参数 frequency(默认 10)用于验证请求。
验证规则 - 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)]]);
IsSpamIp 规则有一个可选参数 frequency(默认 10)用于验证请求。
验证规则 - 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)]]);
IsSpamUsername 规则有一个可选参数 frequency(默认 10)用于验证请求。
手动使用 - IsSpamEmail
\StopForumSpam::setEmail('nickurt@users.noreply.github.com')->isSpamEmail();
手动使用 - IsSpamIp
\StopForumSpam::setIp('8.8.8.8')->isSpamIp();
手动使用 - IsSpamUsername
\StopForumSpam::setUsername('nickurt')->isSpamUsername();
事件
您可以监听 IsSpamEmail、IsSpamIp 和 IsSpamUsername 事件,例如,如果您想记录应用程序中的所有 IsSpam 请求。
IsSpamEmail 事件
当请求的电子邮件发送频率超过阈值时,将触发此事件 nickurt\StopForumSpam\Events\IsSpamEmail
IsSpamIp 事件
当请求的 IP 发送频率超过阈值时,将触发此事件 nickurt\StopForumSpam\Events\IsSpamIp
IsSpamUsername 事件
当请求的用户名发送频率超过阈值时,将触发此事件 nickurt\StopForumSpam\Events\IsSpamUsername
测试
composer test