Skip to content

Commit cb3ebd9

Browse files
committed
implement rate limiting
1 parent c814434 commit cb3ebd9

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

app/Providers/AppServiceProvider.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
namespace App\Providers;
44

5+
use Illuminate\Cache\RateLimiting\Limit;
6+
use Illuminate\Http\Request;
7+
use Illuminate\Support\Facades\RateLimiter;
58
use Illuminate\Support\ServiceProvider;
69

710
class AppServiceProvider extends ServiceProvider
@@ -19,6 +22,10 @@ public function register(): void
1922
*/
2023
public function boot(): void
2124
{
22-
//
25+
RateLimiter::for('site', function (Request $request) {
26+
return Limit::perMinute(10)->by(
27+
parse_url($request->input('url'), PHP_URL_HOST)
28+
);
29+
});
2330
}
2431
}

routes/api.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
use App\Http\Controllers\Api\V1\SiteController;
44
use Illuminate\Support\Facades\Route;
55

6-
Route::prefix('v1')->group(function () {
6+
Route::prefix('v1')->middleware(['throttle:site'])->group(function () {
77
Route::controller(SiteController::class)->group(function () {
88
Route::post('register', 'register');
99
Route::post('check', 'check');

0 commit comments

Comments
 (0)