项目作者: nickurt

项目描述 :
StopForumSpam for Laravel 6.x/7.x/8.x
高级语言: PHP
项目地址: git://github.com/nickurt/laravel-stopforumspam.git
创建时间: 2018-02-14T14:16:00Z
项目社区:https://github.com/nickurt/laravel-stopforumspam

开源协议:MIT License

下载


Laravel StopForumSpam

Build Status
Total Downloads
Latest Stable Version
MIT Licensed

Installation

Install this package with composer:

  1. composer require nickurt/laravel-stopforumspam

Copy the config files for the StopForumSpam-plugin

  1. php artisan vendor:publish --provider="nickurt\StopForumSpam\ServiceProvider" --tag="config"

Examples

Validation Rule - IsSpamEmail

  1. // FormRequest ...
  2. public function rules()
  3. {
  4. return [
  5. 'email' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamEmail(20)]
  6. ];
  7. }
  8. // Manually ...
  9. $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

  1. // FormRequest ...
  2. public function rules()
  3. {
  4. return [
  5. 'ip' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamIp(20)]
  6. ];
  7. }
  8. // Manually ...
  9. $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

  1. // FormRequest ...
  2. public function rules()
  3. {
  4. return [
  5. 'username' => ['required', new \nickurt\StopForumSpam\Rules\IsSpamUsername(20)]
  6. ];
  7. }
  8. // Manually ...
  9. $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

  1. \StopForumSpam::setEmail('nickurt@users.noreply.github.com')->isSpamEmail();

Manually Usage - IsSpamIp

  1. \StopForumSpam::setIp('8.8.8.8')->isSpamIp();

Manually Usage - IsSpamUsername

  1. \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

  1. composer test