laravel:rate-limiting について
エンドポイントを保護し、クライアントの動作を予測しやすくするLaravelのレート制限スキルです。ユーザーまたはIP単位の制限、標準ヘッダー、429応答の再試行案内、バーストの多いエンドポイント向けの個別設定を扱います。
主な機能
- 01ユーザーまたはIP単位でリクエストを制限
- 02標準ヘッダーで制限を通知
- 03429応答に再試行の案内を含める
- 04バーストの多いエンドポイントに個別制限を設定
活用シーン
- 01認証済みAPIリクエストをユーザー単位で制限
- 02未認証時にIP単位でリクエストを制限
- 03バーストの多いルートに個別制限を設定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --skill laravel:rate-limitingインストール後、Claude Code で/laravel:rate-limitingを入力して読み込まれたか確認します。
詳細
レート制限とスロットリング
UX の予測可能性を保ちながら、エンドポイントを不正利用から保護します。
コマンド
// App\Providers\RouteServiceProvider
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
});
// routes/api.php
Route::middleware(['throttle:api'])->group(function () {
// ...
});
パターン
- 認証済みの場合はユーザー単位で制限を設定し、そうでない場合は IP アドレスを使用します
- 標準ヘッダーを通じて、クライアントに制限を通知します
- 再試行のヒントを含む、適切な 429 レスポンスを返します
- リクエストが集中するエンドポイントには、専用のリミッターを使用します
コメント
Markdown 対応