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
クライアントエンドポイント。

戻り値: クライアントが拒否されるべきかどうかは真です。

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

特定のエンドポイントの失敗したログインの試みを記録します。

remoteEndPoint
クライアントエンドポイント。
RecordSuccess
public void RecordSuccess(EndPoint remoteEndPoint)
loginRateLimiter.RecordSuccess(remoteEndPoint)

成功するログインを記録 — エンドポイントの失敗のカウンターをクリアします。

remoteEndPoint
クライアントエンドポイント。