Sveltejs Academy · درس

تحديد معدل الطلبات باستخدام Hooks

نفّذ تحديد معدل الطلبات في hook ‏handle() لحماية مسارات API.

الدرس 4 من 413 خطوة

تحديد معدل الطلبات باستخدام Hooks درس مجاني في Sveltejs Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Sveltejs Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.

لماذا نحدد معدل الطلبات

احمِ واجهات API من إساءة الاستخدام، مثل محاولات تسجيل الدخول بالقوة الغاشمة، واستخراج البيانات، والتحميل الزائد غير المقصود.

التنفيذ في handle

تتبّع الطلبات لكل عنوان IP في الذاكرة أو Redis، وارفض الطلبات عند تجاوز الحد.

const counts = new Map();
export async function handle({ event, resolve }) {
  const ip = event.getClientAddress();
  const n = (counts.get(ip) || 0) + 1;
  counts.set(ip, n);
  if (n > 100) return new Response("Too many", { status: 429 });
  return resolve(event);
}

النافذة المنزلقة

استخدم خوارزمية النافذة المنزلقة لتحديد معدل الطلبات بعدل.

مدعوم بـ Redis

في عمليات النشر متعددة النسخ، خزّن أعداد الطلبات في Redis أو في مخزن مشترك مشابه.

حدود لكل مسار

طبّق حدودًا مختلفة على المسارات المختلفة، مثل فرض حد أكثر صرامة على /login.

الحالة 429

أعِد حالة HTTP 429 مع ترويسة Retry-After حتى تعرف العملاء متى يمكنهم إعادة المحاولة.

تلميحات الترويسات

اضبط ترويسات X-RateLimit-* لإطلاع العملاء على حصتهم.

حدود لكل مستخدم

بالنسبة إلى المستخدمين الذين تمت مصادقتهم، اجعل مفتاح الحد هو معرّف المستخدم لتحقيق الإنصاف.

المكتبات

استخدم المكتبات الموجودة، مثل sveltekit-rate-limiter، بدلًا من إنشاء حل خاص بك.

التسجيل

سجّل الطلبات التي تم تقييدها لاكتشاف الهجمات وضبط الحدود.

طبقة CDN

استخدم Cloudflare أو خدمة مشابهة لتطبيق حدود أساسية لمعدل الطلبات عند الحافة قبل وصول الطلبات إلى تطبيقك.

تحقق سريع

ما رمز الحالة الذي تعيده عند تجاوز حد معدل الطلبات؟

مراجعة

نفّذ تحديد معدل الطلبات في hook ‏handle. واستخدم Redis في الإعدادات متعددة النسخ، وأعِد الحالة 429 مع Retry-After.

البدء مجانًا

تعلم HTML مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
41
الدروس
163

الأسئلة الشائعة

هل درس «تحديد معدل الطلبات باستخدام Hooks» مجاني؟

نعم — نص درس «تحديد معدل الطلبات باستخدام Hooks» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Sveltejs Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.

ماذا ستتعلم في «تحديد معدل الطلبات باستخدام Hooks»؟

نفّذ تحديد معدل الطلبات في hook ‏handle() لحماية مسارات API. تتمرن على Sveltejs Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Sveltejs Academy؟

لا تُشترط خبرة سابقة. Sveltejs Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تحديد معدل الطلبات باستخدام Hooks»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Sveltejs Academy هذا؟

نعم. كل درس في Sveltejs Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الحماية من CSRF في إجراءات النماذج
  2. منع XSS في {#html}
  3. متغيرات البيئة: $env/static و$env/dynamic
  4. تحديد معدل الطلبات باستخدام Hooks
← العودة إلى Sveltejs Academy