Image not found

Laravel এ Rate Limiting কীভাবে কাজ করে?

Comment (0)

Admin

90


Laravel 8 এবং পরবর্তীতে Rate Limiting খুবই সহজ ও ফ্লেক্সিবল হয়েছে। Laravel এর ThrottleRequests middleware ব্যবহার করে তুমি রিকোয়েস্টের হার নিয়ন্ত্রণ করতে পারো।


কিভাবে ব্যবহার করবেন?

Laravel এর রাউট ফাইল (routes/web.php বা routes/api.php) এ throttle middleware ব্যবহার করো:


 

php

Copy

Route::middleware('throttle:60,1')->group(function () { Route::get('/profile', function () { // এখানে রিকোয়েস্ট প্রতি মিনিটে ৬০ টা সীমাবদ্ধ }); });

উপরের উদাহরণে:

  • 60,1 অর্থ ৬০টি রিকোয়েস্ট প্রতি ১ মিনিটে অনুমোদিত


আরও কাস্টমাইজড Rate Limiting

Laravel 8+ এ Rate Limiting ক্লাস App\Providers\RouteServiceProvider বা নিজস্ব RateLimiter ক্লাসে ডিফাইন করা যায়।


 

php

Copy

use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Support\Facades\RateLimiter; public function boot() { RateLimiter::for('global', function ($request) { return Limit::perMinute(100)->by($request->ip()); }); RateLimiter::for('login', function ($request) { return Limit::perMinute(5)->by($request->email.$request->ip()); }); }

তারপর:


 

php

Copy

Route::middleware('throttle:login')->post('/login', 'AuthController@login');


Rate Limiting এর কাজ

  • প্রতি ইউজার বা আইপি থেকে নির্দিষ্ট সময়ের মধ্যে যতবার রিকোয়েস্ট আসবে তা ট্র্যাক করে

  • যদি রেট লিমিট অতিক্রম হয়, তাহলে 429 Too Many Requests এরর রিটার্ন করে

  • API গেটওয়ে বা পাবলিক এপিআই তে খুব কাজে দেয়


সংক্ষেপে:

বিষয় বর্ণনা
Middleware throttle
Default Limit Format throttle:60,1 (৬০ রিকোয়েস্ট/মিনিট)
কাস্টম লিমিট RateLimiter ক্লাসে ডিফাইন করা যায়
Error Code 429 Too Many Requests

 


Others Problem Fix Stroy



Comments (0)

Your Comment