انتقل إلى محتوى الدرس

Route Rate Limiting With Throttle تحديد معدل الطلبات بوسيط Throttle

حماية المسارات بالبرمجية الوسيطة auth واستخدام توجيهي @auth و @guest في القوالب وحماية تسجيل الدخول بتحديد معدل المحاولات RateLimiter.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

لحماية مسارات الدخول والتسجيل واستعادة كلمة المرور على مستوى التوجيه مباشرة، عرّف محددات سرعة مسماة داخل AppServiceProvider عبر RateLimiter::for وأرفق الوسيط throttle بالمسار. عند تجاوز الحد المسموح في الدقيقة عبر Limit::perMinute، يعيد Laravel تلقائياً استجابة 429 مع رؤوس الرسالة القياسية للتهدئة.

  • تعريف المحدد المسمى (RateLimiter::for): يسجل قاعدة تحديد سرعة بالاسم تعيد كائن Limit::perMinute.
  • تخصيص نطاق العد (by Method): اربط العداد بعنوان IP الزائر أو البريد المدخل لعزل كل مستخدم عن الآخر.
  • وسيط المسار (throttle:login): ألحق الوسيط throttle متبوعاً باسم المحدد لحماية المسار تلقائياً.
PHP
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Support\Facades\RateLimiter;

RateLimiter::for('login', function (Request $request) {
    return Limit::perMinute(5)->by($request->ip());
});
// On Route: ->middleware('throttle:login')