LoginRateLimiter

StockSharp.Server.Core

Ограничитель скорости попыток входа. Отслеживает неудачные попытки для каждого IP-адреса и отклоняет соединения, превышающие настроенный порог, в течение скользящего временного окна.

Конструкторы

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

Инициализирует новый экземпляр.

maxAttempts
Максимальное количество неудачных попыток, разрешенных в пределах окна.
window
Скользящее окно времени для отслеживания попыток.

Свойства

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

Количество IP-трекеров в настоящее время проводится. Выставляется для диагностики и испытаний, чтобы убедиться, что пустые трекеры выселяются и не накапливаются.

Методы

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

Проверьте, ограничена ли данная конечная точка скоростью.

remoteEndPoint
Конечная точка клиента.

Возвращает: true, если клиент должен быть отклонен.

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

Запишите неудачную попытку входа в систему для данной конечной точки.

remoteEndPoint
Конечная точка клиента.
RecordSuccess
public void RecordSuccess(EndPoint remoteEndPoint)
loginRateLimiter.RecordSuccess(remoteEndPoint)

Записать успешный вход в систему — очищает счетчик неудач для конечной точки.

remoteEndPoint
Конечная точка клиента.