18 lines
549 B
Markdown
18 lines
549 B
Markdown
# 速率限制中间件
|
||
为了防范恶意flood攻击,需要对同一IP对同一controller的访问频率做出限制。
|
||
|
||
## 使用方法
|
||
```go
|
||
// 创建速率限制配置
|
||
// 参数1:窗口期内可访问次数
|
||
// 参数2:窗口期时间,以s为计数单位
|
||
// 下述配置为1秒种内可访问同一controller 5次
|
||
var defaultLimitConfig = am_ratelimit.NewRateLimitConfig(5, 1)
|
||
|
||
gin.SetMode(gin.DebugMode)
|
||
r := gin.Default()
|
||
// 设置中间件
|
||
r.POST("/test", defaultLimitConfig.RateLimitMiddleware, func(context *gin.Context) {
|
||
...
|
||
})
|
||
``` |