Sobes.tech
Middle

Rate limiting nima va uni qanday amalga oshirish mumkin?

sobes.tech AI

AIdan javob

Rate limiting — bu mijozning ma'lum bir vaqt oralig'ida serverga yuborishi mumkin bo'lgan so'rovlar sonini cheklovchi mexanizm. Bu serverni ortiqcha yuklanish va suiiste'mollardan himoya qilishga yordam beradi.

Amalga oshirish server yoki mijoz tomonida bo'lishi mumkin. Frontendda odatda oddiy himoya qilish amalga oshiriladi, masalan, takroriy tugmalar bosishni bloklash yoki API chaqiruvlar chastotasini cheklash.

JavaScriptda vaqt taymeridan foydalanib oddiy amalga oshirish misoli:

let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 soniya

function sendRequest() {
  const now = Date.now();
  if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
    console.log('Juda tez! Biroz kuting.');
    return;
  }
  lastRequestTime = now;
  // so'rov yuborish
  fetch('/api/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

Ko'proq murakkab holatlar uchun kutubxonalar ishlatiladi yoki serverda Redis, tokenlar yoki hisoblagichlar yordamida rate limiting amalga oshiriladi.