Sigurnost
Šta je rate limiting i zašto ga svaki sistem treba
Rate limiting ograničava broj zahtjeva u jedinici vremena i štiti sistem od zloupotrebe i preopterećenja. Objašnjavamo jednostavno.
Rate limiting je tehnika koja ograničava koliko puta neko — bilo pravi čovjek, bilo automatizovan skript ili bot — može poslati zahtjev sistemu u kratkom vremenskom periodu. Praktičan primjer: koliko puta neko može pokušati da se prijavi na nalog, ili koliko puta može poslati kontakt formu, prije nego što sistem privremeno blokira dalje pokušaje.
Od čega konkretno rate limiting štiti
Pogađanje lozinki (poznato kao brute-force napad) — bez ograničenja, napadač bi mogao automatizovano isprobati hiljade lozinki u minuti dok ne pogodi tačnu; sa rate limitingom, nakon nekoliko pogrešnih pokušaja dalji pokušaji se privremeno blokiraju, čineći ovakav napad nepraktičnim.
Spam kroz forme i API pozive — ograničava koliko puta se ista forma ili isti API endpoint mogu koristiti sa iste adrese u kratkom roku.
Preopterećenje servera (nenamjerno ili namjerno) od izuzetno velikog broja zahtjeva u kratkom vremenskom periodu, koje bi inače moglo usporiti ili srušiti cijeli sistem za sve korisnike.
Kako se rate limiting praktično primjenjuje
Postavlja se na nivou API-ja i formi sa razumnim, konkretnim pragovima — na primjer, najviše pet pokušaja prijave u minuti po jednoj IP adresi je uobičajeno pravilo. Legitimni korisnici to u praksi nikad ne primjete jer rijetko griješe pet puta uzastopno u minuti, dok se automatizovane zloupotrebe efikasno usporavaju ili u potpunosti blokiraju.
Verwandtes