Wie lässt sich ein Algorithmus zur Geschwindigkeitsbegrenzung für Webanforderungen am besten implementieren?
Mögliche / teilweise Duplikate:
Was ist ein guter Algorithmus zur Ratenbegrenzung?Drosselmethodenaufrufe für M-Anforderungen in N SekundenBester Weg, um Anforderungsdrosselung in ASP.NET MVC zu implementieren?Ich suche nach der besten Möglichkeit, einen Algorithmus zur Begrenzung der Bewegungszeitfensterrate für eine Webanwendung zu implementieren, um Spam- oder Brute-Force-Angriffe zu reduzieren.
Beispiele für die Verwendung sind "Maximale Anzahl fehlgeschlagener Anmeldeversuche von einer bestimmten IP-Adresse in den letzten 5 Minuten", "Maximale Anzahl (Beiträge / Stimmen / etc ...) in den letzten N Minuten".
Ich würde es vorziehen, einen Algorithmus für sich bewegende Zeitfenster zu verwenden, anstatt die Statistiken alle X Minuten hart zurückzusetzen (wie z. B. Twitter API).
Dies wäre für eine C # / ASP.Net-App.