Sobes.tech
Middle

Mis on kiiruse piiramine ja kuidas seda rakendada?

sobes.tech AI

Vastus AI-lt

Kiiruse piiramine on mehhanism, mis piirab klienti serverile saadetavate päringute arvu kindla ajavahemiku jooksul. See aitab kaitsta serverit ülekoormuse ja kuritarvitamise eest.

Rakendamine võib toimuda serveri või kliendi poolel. Frontendis kasutatakse sageli lihtsat kaitset, näiteks korduvate klikkide blokeerimist või API kutsumise sageduse piirangut.

Lihtne JavaScripti näide kasutades ajastit:

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

function sendRequest() {
  const now = Date.now();
  if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
    console.log('Liiga sageli! Palun oodake veidi.');
    return;
  }
  lastRequestTime = now;
  fetch('/api/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

Raskematel juhtudel kasutatakse teeke või rakendatakse rate limitingut serveris Redis, tokenite või loendurite abil.