速率限制器

TsgcWSRateLimiter — 一款功能齐全的速率限制组件,可保护服务器端点免受过载流量、滥用和爬取攻击。提供三种算法、四种作用域、长期配额,以及符合标准的 HTTP 429 响应。

TsgcWSRateLimiter

令牌桶速率限制器。在您附加的任何 WebSocket 或 HTTP 服务器上,按客户端(或按 IP)限制每秒请求数。

组件类

TsgcWSRateLimiter

协议

服务器端准入控制 — 可附加到任何 sgc 服务器。

支持平台

Windows、macOS、Linux、iOS、Android

版本

Professional / Enterprise

放置组件、设置几个属性,即可开始

配置速率与突发,挂接 OnRateLimited 事件,附加到您的服务器。

uses
  sgcWebSocket, sgcWebSocket_Server, sgcRateLimiter;

var
  RL: TsgcWSRateLimiter;
  WSServer: TsgcWebSocketHTTPServer;
begin
  RL := TsgcWSRateLimiter.Create(nil);
  RL.RequestsPerSecond := 20;
  RL.BurstSize         := 50;
  RL.OnRateLimited     := DoRateLimited;

  WSServer := TsgcWebSocketHTTPServer.Create(nil);
  WSServer.Port := 80;
  WSServer.RateLimiter := RL;
  WSServer.Active := True;
end;

内部功能

13 个已发布属性、12 个方法、3 个事件 — 摘自组件参考文档。

诊断

已发布属性:Stats

核心

属性:Enabled

算法

属性:TokenBucketSlidingWindowFixedWindow

作用域

属性:PerIPPerAPIKeyPerUser

响应

属性:Response

持久化

属性:StorageFile

文档与演示

直接访问组件参考文档,获取即用型演示项目,并下载试用版。

演示项目 — 01.WebSocket\09.RateLimiter 即用型示例项目,随 sgcWebSockets 包提供——请在下方下载试用版。
技术文档 (PDF) 本组件的功能介绍、快速入门、Delphi & C++ Builder 代码示例及主要来源参考。
用户手册 (PDF) 涵盖库中所有组件的综合手册。

保护您的端点免受滥用

下载免费试用版,几分钟内即可为您的 sgcWebSockets 服务器添加速率限制。