Jaki jest najlepszy sposób zaimplementowania algorytmu ograniczającego szybkość dla żądań internetowych?
Możliwe / częściowe duplikaty:
Jaki jest dobry algorytm ograniczania stawek?Ograniczanie wywołań metod do żądań M w N sekundachNajlepszy sposób na zaimplementowanie ograniczania żądań w ASP.NET MVC?Szukam najlepszego sposobu wdrożenia algorytmu ograniczania szybkości ruchomych okien czasowych dla aplikacji internetowej w celu ograniczenia spamu lub ataków siłowych.
Przykładami użycia byłyby „Maksymalna liczba nieudanych prób logowania z danego IP w ciągu ostatnich 5 minut”, „Maksymalna liczba (postów / głosów / etc ...) w ostatnich N minutach”.
Wolałbym raczej używać algorytmu ruchomego okna czasu niż twardego resetowania statystyk co X minut (jak np. Twitter Twitter).
Byłoby to dla aplikacji C # / ASP.Net.