Baza wiedzy

Rate Limiting

Mechanizm ograniczający liczbę żądań, które dany klient (np. adres IP) może wysłać do serwera w określonym oknie czasowym.

← Wróć do bazy wiedzy

Do czego służy



Rate limiting chroni aplikację przed nadmiernym obciążeniem ze strony pojedynczego źródła. Stosowany jest głównie na publicznych endpointach: formularzach kontaktowych, API, stronach logowania i endpointach wyszukiwania.



Jak działa



System zlicza żądania z danego adresu IP w oknie czasowym. Po przekroczeniu zdefiniowanego limitu (np. 60 żądań na minutę) kolejne żądania są odrzucane z kodem odpowiedzi HTTP 429 (Too Many Requests).



Modele implementacji



  • Fixed window - prosty reset licznika co określony czas (np. co minutę). Łatwy w implementacji, ale podatny na bursts na granicy okien.

  • Sliding window - okno przesuwa się z każdym żądaniem, co daje bardziej równomierną kontrolę częstotliwości.

  • Token bucket - system przyznaje 'tokeny' w stałym tempie. Każde żądanie zużywa token. Pozwala na krótkie bursts przy zachowaniu średniego limitu.



Zastosowania



  • ochrona formularzy przed floodingiem i spamem,

  • ochrona API przed nadużyciem,

  • ograniczenie skuteczności ataków brute-force na logowanie,

  • kontrola kosztów w API z limitem żądań.



Rate limiting a inne mechanizmy



Rate limiting działa na poziomie częstotliwości żądań. Uzupełnia inne warstwy ochrony, takie jak honeypot (wykrywanie botów na poziomie formularza) czy CSP (polityka bezpieczeństwa przeglądarki).

Przykład wdrożenia
Powiązane pojęcia
Kontakt
Masz pytanie techniczne?

Porozmawiajmy

Chętnie wyjaśnię, jak te pojęcia przekładają się na Twój projekt.

Skontaktuj się