求教 restful, 还望知道的朋友指点一下 [ 2.0 版本 ]
我现在需要提供给app端一些接口, 请问是否可以 实现 限制同一个ip在某段时间内请求的次数, 看了网上提供的 restful,全都是复制粘贴, 其内容只有提及到 针对某个用户实现请求次数限制, 而且对应的 方法都是写在model里面的,
我现在要提供很多个接口, 并且数据也是来自多个model表里面的,,我现在想要实现的只有 限制同一个ip在某段时间内请求的次数 ,
望路过知道的朋友指点一下!!!!!!!!!
共 3 个回答
-
-
我觉得这个可以在nginx端通过限流配置实现,如果同一个ip一定时间内超过一定数量 就直接返回404或者500页面
qqa4560354 觉得很赞 -
dashixiong 回答于 2017-02-28 15:27 举报
说一下我的思路
首先获取到用户IP,用该IP作为key保存到缓存中,key中保存一些信息,包括时间戳,请求剩余次数
然后再次请求的时候获取到key中的时间戳和当前时间对比,如果小于一段时间 剩余次数减一,更新key
如果大于一段时间 重新记录时间,剩余次数初始化 更新key。
xiurenhui
注册时间:2015-12-01
最后登录:2018-09-09
在线时长:2小时56分
最后登录:2018-09-09
在线时长:2小时56分
- 粉丝0
- 金钱45
- 威望0
- 积分65