排除429提示

main
liutk 2026-04-12 21:13:39 +08:00
parent cdfb721857
commit ee25c649ca
2 changed files with 34 additions and 1 deletions

View File

@ -40,7 +40,7 @@ class Kernel extends HttpKernel
'api' => [ 'api' => [
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
\Illuminate\Routing\Middleware\ThrottleRequests::class.':api', \App\Http\Middleware\CustomThrottle::class.':api',
\Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Routing\Middleware\SubstituteBindings::class,
], ],
]; ];

View File

@ -0,0 +1,33 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Routing\Middleware\ThrottleRequests; // 1. 引入父类
class CustomThrottle extends ThrottleRequests
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handlehandle(Request $request, Closure $next, $maxAttempts = 60, $decayMinutes = 1)
{
// 1. 设置白名单
$whitelist = [
'127.0.0.1',
'47.109.74.245',
'::1'
];
// 2. 命中白名单,直接放行,不计算次数
if (in_array($request->ip(), $whitelist)) {
return $next($request);
}
return parent::handle($request, $next, $maxAttempts, $decayMinutes);
}
}