Где воздух гор - там тишина снегов, молчание камней и дремлет сила

Программирование Web

Использование фасада RateLimiter в Laravel 8

2021-01-16 09:19:00







В Laravel 8 есть фасад Illuminate\Support\Facades\RateLimiter, который позволяет установить ограничение на выполнение действий.
Например, мы можем установить лимит запросов в минуту для пользователей. Для этого нам нужно:

1. Подключить данный фасад к классу AppServiceProvider.

2. В метод boot()поместить новое правило. В этом методе мы создаем псевдоним правила, который мы будем использовать в дальнейшем и описываем его само. В данном случае у нас вызывается фасад Limit и oграничивает количество запросов от пользователя до 5 единиц в минуту.


namespace App\Providers;

use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
public function boot()
{
RateLimiter::for('validlimit', function (Request $request) {
return Limit::perMinute(5);
});
}
}


Теперь мы можем вызывать это правило в роутере:


Route::get('forum', function () {
})→middleware(['throttle:validlimit']);


Как видите, все очень просто. На этом все.

Здесь нет комментариев


Новый комментарий:
























Яндекс.Метрика