90493


Laravel9の認証周りを調べているとき、  
`->middleware(['signed', 'throttle:6,1'])` というコードを頻繁に見かけました。  
`signed` は期限付きURL ということでした  
`throttle` はアクセス制限だと思います。

throttle の右にある数値にて「1分間に6回」という制限かと…  
ただ、公式でそれらの記述を見つけられなくてモヤモヤしています。  
（コード例は山ほどありますが、その内容を書いているものは極わずか。ほぼAPI関係）

探し出せないだけかもしれないのですがご存知でしたら「ここに書いてあるよ！」と教えて頂けると嬉しいです。  
ソースから見るべき場合は、どのソースを見ればよいか教えてもらえるでしょうか。

よろしくお願いします。


CC BY-SA 4.0
2022-08-10T05:54:10.807
90491
2022-08-10T07:07:02.413
7980
question
laravel
Laravel の認証にでてくる 'throttle:6,1' の内容について知りたい


ThrottleRequestsミドルウェアのAPIドキュメントは
<https://laravel.com/api/9.x/Illuminate/Routing/Middleware/ThrottleRequests.html#method_handle>

その実際のコードは  
<https://github.com/laravel/framework/blob/9.x/src/Illuminate/Routing/Middleware/ThrottleRequests.php>

テストコードは  
<https://github.com/laravel/framework/blob/9.x/tests/Integration/Http/ThrottleRequestsTest.php>

にあります。  
認識されている通り、1分間に6回のアクセス制限です。

そもそもどうやってそのキーワードからこのミドルウェアが解釈されるか？という話であれば[`Http\Kernel`で登録している](https://github.com/laravel/laravel/blob/4135d5834505e3253e6ff8a68180bf40dfb50112/app/Http/Kernel.php#L64)からですが、これについては今更でしょうか。

なお、スロットリングにRedisの機能を使用する[ThrottleRequestsWithRedis](https://github.com/laravel/framework/blob/9.x/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php)も選択可能です。


CC BY-SA 4.0
2022-08-10T07:07:02.413
90493
2022-08-10T07:07:02.413
2376
90491
answer