ipblock
koa middleware 限制ip访问次数
Installation
npm install ipblock
Example
code
var koa = ;var app = ipblock = ; // block router// test: 100000 ms / 10 times ;;; app; app;
Test
bash
sh testes/test.sh
output
200
200
200
200
200
200
200
200
200
200
403
策略 (假设30s 限制10次访问
- 时间节点A,开始访问
- 则设A为cursor。开始计数,达到10次,则 开始触发block算法。
- 如果当前时间戳 - A > 30s,则 A的节点往前移一位,且把当前时间戳压入栈。
- 如果当前时间戳 - A < 30s,则 返回403,不做任何操作。