我现在正在使用Laravel 5构建REST API。
现在,我将限制同一IP地址在给定时间段内的请求数。
我想在中间件中实现它。
当然,有许多样本,但它们是Laravel 4的样本。它们不适用于Laravel 5。
请帮我。
谢谢。
在Laravel 5.2中,它是作为中间件构建的。 https://laracasts.com/series/whats-new-in-laravel-5-2
已有一个包。看看https://github.com/GrahamCampbell/Laravel-Throttle。它是Laravel 5的速率限制器,通过中间件实现。
您可以将中间件组(如api)分配给单个路径:
Route::get('/route/path', ['middleware' => 'api', 'uses' => 'Controller@action']);
或者,如果您只想使用限制中间件,您可以使用:
Route::get('/route/path', ['middleware' => 'throttle:2', 'uses' => 'Controller@action']);
有关速率限制功能的更多详细信息,您可以查看下面链接的Laracasts视频: