Download the PHP package tinywan/limit-traffic without Composer
On this page you can find all versions of the php package tinywan/limit-traffic. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package limit-traffic
based on lua script limiting traffic for webman plugin
为防止滥用,你应该考虑对您的 API 限流。 例如,您可以限制每个用户 10 分钟内最多调用 API 100 次。 如果在规定的时间内接收了一个用户大量的请求,将返回响应状态代码 429 (这意味着过多的请求)。
安装
使用
应用中间件
在 config/middleware.php
中添加全局中间件如下:
路由中间件
注意:需要
workerman/webman-framework
版本>= 1.0.12
我们可以给某个一个或某一组路由设置中间件。例如在 config/route.php
中添加如下配置:
🔏 返回允许的请求的最大数目及时间
返回允许的请求的最大数目及时间,例如:[100, 600]
表示在 600
秒内最多 100
次的 API 调
⚠ 请求限制参考
🔰 响应参数详解
X-Rate-Limit-Limit
同一个时间段所允许的请求的最大数目X-Rate-Limit-Remaining
在当前时间段内剩余的请求的数量X-Rate-Limit-Reset
为了得到最大请求数所等待的秒数
自定义自己的 Response
使用场景
- 每个项目有标准的统一输出,自定义返回内容
- 前后端分离:前端要求返回的
HTTP状态码
并不是429
,而是200
或者其他- 响应的
body
不是{"code":0,"msg":"Too Many Requests"}
,而是{"error_code":200,"message":"Too Many Requests"}
等其他内容
自定义HTTP状态码
编辑 config/plugin/tinywan/limit-traffic/app.php
文件的 status
HTTP 状态码(默认值是 429
)
自定义body
返回内容
编辑 config/plugin/tinywan/limit-traffic/app.php
文件的 body
的字段
默认选项是
自定义选项参考一
1、假设status
HTTP 状态码设置为 200
2、假设body
的数组设为为
则响应内容为
其他的可以根据自身业务自定义即可
Other
All versions of limit-traffic with dependencies
PHP Build Version
Package Version
Requires
ext-redis Version
*
The package tinywan/limit-traffic contains the following files
Loading the files please wait ....