Sobes.tech
Middle

Mi az a rate limiting, és hogyan valósítható meg?

sobes.tech MI

Válasz az MI-től

A rate limiting egy olyan mechanizmus, amely korlátozza, hogy egy kliens adott időintervallumban hány kérést küldhet a szervernek. Ez segít megvédeni a szervert a túlterheléstől és a visszaélésektől.

A megvalósítás lehet szerveroldali vagy kliensoldali. A frontendben gyakran egyszerű védelmet alkalmaznak, például ismételt kattintások blokkolásával vagy az API-hívások gyakoriságának korlátozásával.

Egyszerű példakód JavaScriptben időzítő használatával:

let lastRequestTime = 0;
const RATE_LIMIT_INTERVAL = 1000; // 1 másodperc

function sendRequest() {
  const now = Date.now();
  if (now - lastRequestTime < RATE_LIMIT_INTERVAL) {
    console.log('Túl gyakran! Kérjük, várjon egy kicsit.');
    return;
  }
  lastRequestTime = now;
  fetch('/api/data')
    .then(response => response.json())
    .then(data => console.log(data));
}

Komplexebb esetekben könyvtárakat használnak, vagy a szerveren Redis, tokenek vagy számlálók segítségével valósítják meg a rate limitinget.