العودة لأدوات AI Coding
الأمان والجودة
API Rate Limiting
حماية APIs من الإساءة بتحديد معدل قابل للتكوين باستخدام نوافذ منزلقة أو دلاء رموز أو نوافذ ثابتة.
Claude Code Cursor Copilot Windsurf Gemini CLI
نظرة عامة
express-rate-limit هو وسيط أساسي لتحديد المعدل لـ Express.js يحد من الطلبات المتكررة للواجهات البرمجية والنقاط النهائية العامة. يستخدم مخزناً في الذاكرة افتراضياً ولكنه يدعم مخازن خارجية مثل Redis للنشر الموزع. يتتبع الوسيط عدد الطلبات لكل عميل (محدد بعنوان IP أو مفتاح مخصص) ضمن نافذة زمنية قابلة للتكوين.
تدعم المكتبة تحديد معدل النافذة الثابتة من البداية حيث يحصل كل عميل على عدد محدد من الطلبات لكل نافذة زمنية. لخوارزميات أكثر تطوراً مثل النوافذ المنزلقة أو دلاء الرموز توفر الحزم المرافقة مثل rate-limit-redis وrate-limit-flexible تنفيذات مخازن متقدمة. يمكنك ضبط حدود مختلفة لمسارات مختلفة وتخطي طلبات معينة وتخصيص الاستجابة عند تجاوز الحدود.
تحديد المعدل ضروري لأمان API لمنع هجمات القوة الغاشمة على نقاط المصادقة والتخفيف من DDoS والحماية من الاستخراج. تشمل أفضل الممارسات وضع حدود أكثر صرامة على النقاط الحساسة (تسجيل الدخول وإعادة تعيين كلمة المرور) واستخدام التأخيرات التدريجية وتوفير رؤوس تحديد المعدل حتى يتمكن العملاء من التنظيم الذاتي.
تدعم المكتبة تحديد معدل النافذة الثابتة من البداية حيث يحصل كل عميل على عدد محدد من الطلبات لكل نافذة زمنية. لخوارزميات أكثر تطوراً مثل النوافذ المنزلقة أو دلاء الرموز توفر الحزم المرافقة مثل rate-limit-redis وrate-limit-flexible تنفيذات مخازن متقدمة. يمكنك ضبط حدود مختلفة لمسارات مختلفة وتخطي طلبات معينة وتخصيص الاستجابة عند تجاوز الحدود.
تحديد المعدل ضروري لأمان API لمنع هجمات القوة الغاشمة على نقاط المصادقة والتخفيف من DDoS والحماية من الاستخراج. تشمل أفضل الممارسات وضع حدود أكثر صرامة على النقاط الحساسة (تسجيل الدخول وإعادة تعيين كلمة المرور) واستخدام التأخيرات التدريجية وتوفير رؤوس تحديد المعدل حتى يتمكن العملاء من التنظيم الذاتي.
لمن هذه الأداة؟
- تحديد محاولات تسجيل الدخول لمنع هجمات القوة الغاشمة
- تقييد نقاط API العامة لكل مفتاح API
- وضع حدود معدل مختلفة لمستويات API المجانية والمدفوعة
- إضافة تحديد معدل مع مخزن Redis للخوادم الموزعة
التثبيت
إعداد Claude Code
npm install express-rate-limit الإعدادات
import rateLimit from "express-rate-limit"
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 minutes
limit: 100, // max 100 requests per window
standardHeaders: "draft-7",
legacyHeaders: false,
message: { error: "Too many requests, please try again later." },
})
app.use("/api/", limiter) استكشف أدوات AI
أدوات AI تكمل شغلك — للمصممين والمطورين
اقرأ مقالات عن AI
نصايح عملية في التصميم والذكاء الاصطناعي
أدوات مشابهة
الأمان والجودة
Snyk Security Scan
فحص التبعيات والأكواد للكشف عن الثغرات الأمنية المعروفة واقتراح الإصلاحات.
Claude Code Copilot Cursor
الأمان والجودة SonarQube Code Quality
تحليل شامل لجودة الكود واكتشاف الأنماط السيئة والأكواد المكررة والتعقيد الزائد.
Claude Code Copilot Cursor
الأمان والجودة OWASP ZAP Security Testing
فحص تلقائي لتطبيقات الويب للكشف عن ثغرات OWASP العشر الأكثر شيوعًا.
Claude Code Copilot Cursor