求救 Laravel 中间件 throttle 失效,永远都提示 Too Many Attempts 请求次数过多

做API短信发送接口,然后用了throttle 限制了下:

    Route::post('VerificationCodes','VerificationCodesController@store')->name('VerificationCodes.store')->middleware('throttle:1,1');

设置的是一分钟一次

然而噩梦开始了

laravel中间件throttle 失效,永远都提示Too Many Attempts 请求次数过多

肯定显示的too many attempts

laravel中间件throttle 失效,永远都提示Too Many Attempts 请求次数过多

经过漫长的等待

laravel中间件throttle 失效,永远都提示Too Many Attempts 请求次数过多

然而还是显示

laravel中间件throttle 失效,永远都提示Too Many Attempts 请求次数过多

已经php artion cache:clear 和 php artion route:clear

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

你如果是走的routes里面的api.php的话你只需要改 App\Http\Kernel 类下面的 protected $middlewareGroups 里面有个设置请求次数的参数。

file
目测是因为你在两个地方都设置了限流的,你如果需要在单个路由使用就把上面的地方注释掉。如果不需要单独使用就改这个文件就行了。我刚刚测试过了,只改这里的就没问题。

4年前 评论
liuhaiqiang999 (楼主) 4年前
讨论数量: 3

你如果是走的routes里面的api.php的话你只需要改 App\Http\Kernel 类下面的 protected $middlewareGroups 里面有个设置请求次数的参数。

file
目测是因为你在两个地方都设置了限流的,你如果需要在单个路由使用就把上面的地方注释掉。如果不需要单独使用就改这个文件就行了。我刚刚测试过了,只改这里的就没问题。

4年前 评论
liuhaiqiang999 (楼主) 4年前

api中间件中定义和单路由定义的应该没有冲突,最近做的项目,api 限流60次,单路由限流5次/分钟,没有什么问题

4年前 评论
liuhaiqiang999 (楼主) 4年前

确实是冲突

4年前 评论

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