【问题标题】:Rate limit in laravel 8 not works for the routes with post methodlaravel 8 中的速率限制不适用于使用 post 方法的路线
【发布时间】:2021-10-23 17:30:52
【问题描述】:

请检查以下代码的速率限制器

RateLimiter::for('api', function (Request $request) {
    return [
        // Rate limiter based on Client IP Address
        Limit::perMinute(env('IP_ADDR_RATE_LIMITER_PER_MINUTE', 60))->by($request->ip())->response(function () {
            ....
        }),
        // Rate limiter based on API key/User
        Limit::perMinute(env('API_KEY_RATE_LIMITER_PER_MINUTE', 60))->by($request->input('key'))->response(function () {
            ...
        })
    ];
});

api.php 中的路由配置

Route::post('/temporalrisk/v1', [TemporalRouteRiskV1::class, 'postMethod'])->middleware('key')->name('temporalrouteriskv1.index');

有人可以帮我解决上述问题,以使用 post 方法设置路线的速率限制吗?

【问题讨论】:

  • 你必须写代码 [ return response('Custom response...', 429); ] 在函数中

标签: laravel post ratelimit


【解决方案1】:

这可能会对您有所帮助:

RateLimiter::for('global', function (Request $request) {
    return Limit::perMinute(1000)->response(function () {
        return response('Custom response...', 429);
    });
});

有关速率限制的更多信息:

https://laravel.com/docs/8.x/routing#rate-limiting

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 2022-10-14
    • 1970-01-01
    • 2015-11-24
    • 2021-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多