شرح صفوف ومحتوى الفقرة
لحماية مسارات الدخول والتسجيل واستعادة كلمة المرور على مستوى التوجيه مباشرة، عرّف محددات سرعة مسماة داخل 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')