扫码关注官方订阅号
php限制用户调用app接口的刷新频率,1秒不能达到20。看了很多类似的,但不看懂什么意思,是要具体的建新表保存访问者的信息还是怎么样。(新手程序员)能不能说下怎么弄,最好能有代码。
学习是最好的投资!
不建议在PHP里面做,可以考虑在Nginx和防火墙iptables里面做.比如在Nginx里可以这样配置:
在http里server前加入: limit_req_zone $binary_remote_addr zone=allips:10m rate=20r/s; 在server里加入: limit_req zone=allips burst=5 nodelay; 超过每秒20次连接,则把IP加入黑名单,直接deny掉这些IP.
注意,上面提到的用户都是以IP进行识别的,存在误杀的可能.
nginx层面做限制。可以使用openresty,用lua来写,每次请求都接口自增一次访问记录,可以把值记录到redis中。在单位时间内达到最大限制,返回错误的提示码。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
不建议在PHP里面做,可以考虑在Nginx和防火墙iptables里面做.
比如在Nginx里可以这样配置:
注意,上面提到的用户都是以IP进行识别的,存在误杀的可能.
nginx层面做限制。
可以使用openresty,用lua来写,每次请求都接口自增一次访问记录,可以把值记录到redis中。
在单位时间内达到最大限制,返回错误的提示码。