LoginRateLimiter

StockSharp.Server.Core

Rate Limiter für Anmeldeversuche: Verfolgt fehlgeschlagene Versuche pro IP-Adresse und weist Verbindungen ab, die innerhalb eines gleitenden Zeitfensters den konfigurierten Schwellenwert überschreiten.

Konstruktoren

LoginRateLimiter
public LoginRateLimiter(int maxAttempts, TimeSpan? window)
loginRateLimiter = LoginRateLimiter(maxAttempts, window)

Initialisiert eine neue Instanz.

maxAttempts
Maximale fehlgeschlagene Versuche innerhalb des Fensters erlaubt.
window
Zeitfenster für Nachverfolgungsversuche verschieben.

Eigenschaften

TrackedCount
public int TrackedCount { get; }
value = loginRateLimiter.TrackedCount

Anzahl der derzeit vorhandenen IP-Tracker: Ausgesetzt für Diagnosen und Tests, um zu überprüfen, ob leere Tracker vertrieben werden und sich nicht ansammeln.

Methoden

IsLimited
public bool IsLimited(EndPoint remoteEndPoint)
result = loginRateLimiter.IsLimited(remoteEndPoint)

Prüfen Sie, ob der angegebene Endpunkt ratenbegrenzt ist.

Rückgabe: Wenn der Kunde abgelehnt werden sollte.

RecordFailure
public void RecordFailure(EndPoint remoteEndPoint)
loginRateLimiter.RecordFailure(remoteEndPoint)

Notieren Sie einen fehlgeschlagenen Anmeldeversuch für den angegebenen Endpunkt.

RecordSuccess
public void RecordSuccess(EndPoint remoteEndPoint)
loginRateLimiter.RecordSuccess(remoteEndPoint)

Notieren Sie einen erfolgreichen Login - löscht den Fehlerzähler für den Endpunkt.