دوره‌ها / Node.js / Rate Limiting (Rate Limiting)

Rate Limiting (Rate Limiting)

15 دقیقه Article

Rate Limiting: محدود کردن درخواست‌ها 🚦

Rate Limiting برای جلوگیری از abuse و DDoS attacks استفاده میشه!

نصب و استفاده:

// نصب
// npm install express-rate-limit

const rateLimit = require('express-rate-limit');

// Rate limiter ساده
const limiter = rateLimit({
    windowMs: 15 * 60 * 1000, // 15 minutes
    max: 100 // limit each IP to 100 requests per windowMs
});

app.use('/api/', limiter);

Rate Limiting برای Route خاص:

// برای login route (سخت‌تر)
const loginLimiter = rateLimit({
    windowMs: 15 * 60 * 1000,
    max: 5, // فقط 5 تلاش در 15 دقیقه
    message: 'Too many login attempts, please try again later'
});

app.post('/login', loginLimiter, (req, res) => {
    // login logic
});

// برای API عمومی
const apiLimiter = rateLimit({
    windowMs: 60 * 1000, // 1 minute
    max: 10 // 10 requests per minute
});

app.use('/api/', apiLimiter);
✅ یاد گرفتید: Rate Limiting برای امنیت و performance عالیه!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید