首页 新闻 会员 周边 捐助

怎么实现接口访问次数限制功能?

0
悬赏园豆:60 [已解决问题] 解决于 2016-07-19 21:52
微信开发提供了很多接口,参考下面截图,可以看到获取access_token接口每日最多调用2000次,现在大公司提供的很多接口针对不对级别的用户接口访问次数限制都是不一样的,至于做这个限制的原因应该是防止恶意攻击和流量限制之类的。那么我的问题是怎么实现这个接口调用次数限制功能。。 
焰尾迭的主页 焰尾迭 | 初学一级 | 园豆:33
提问于:2015-08-16 20:16
< >
分享
最佳答案
0

在缓存中以调用者唯一标识记录调用次数,缓存过期时间为你要限制的时间。比如你需要控制1分钟1000次的调用限制,缓存过期时间就是1分钟,调用次数判断不大于1000即可。

收获园豆:60
喵喵喵猫 | 小虾三级 |园豆:1742 | 2015-08-17 09:10

不错的方法,赞

焰尾迭 | 园豆:33 (初学一级) | 2015-08-17 09:11

@焰尾迭: 缓存访问唯一标识,过期时间为设定访问次数。接口被访问时查缓存是否存在,存在即不允许缓存,不存在便可访问,并记录缓存当前访问时间和访问唯一标识

适可而止、 | 园豆:200 (初学一级) | 2021-04-02 11:42
其他回答(2)
1

1.用户id

2.接口调用记录

3.过滤器,或者说横向扩展,请求处理之前判断用户的接口调用次数

4.敲代码

吴瑞祥 | 园豆:29449 (高人七级) | 2015-08-16 22:16

还应该记录访问时间,为了方便拓展,比如实现一小时访问流量控制。

支持(0) 反对(0) 焰尾迭 | 园豆:33 (初学一级) | 2015-08-16 22:32
0

添加张表维护一下接口调用记录

可以有以下几个字段

接口id、用户id、调用次数

调用后次数+1

主要是接口id和调用次数

用户可以用来扩展

chengeng | 园豆:294 (菜鸟二级) | 2016-03-07 14:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册