Laravel throttle 如何基于路由限流?

在社区搜索问题,发现了同一个问题问答:Laravel throttle 如何基于路由限流?,但是我就是不成功,每次访问路由一次就触发限制,本人用的是Laravel8,大佬求帮助

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2

调整App\Providers\RouteServiceProvider@configureRateLimiting,默认是根据IP或者是用户ID限流的,你可以加上路由参数

参考Illuminate\Routing\Middleware\ThrottleRequests@resolveRequestSignature

    /**
     * Resolve request signature.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return string
     *
     * @throws \RuntimeException
     */
    protected function resolveRequestSignature($request)
    {
        if ($user = $request->user()) {
            return sha1($user->getAuthIdentifier());
        } elseif ($route = $request->route()) {
            return sha1($route->getDomain().'|'.$request->ip());
        }

        throw new RuntimeException('Unable to generate the request signature. Route unavailable.');
    }
3年前 评论
luyang (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!