接口防爆刷,就这么办!

Posted androidstarjack

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口防爆刷,就这么办!相关的知识,希望对你有一定的参考价值。

为什么会有人要刷接口?

1、牟利

黄牛在 12306 网上抢票再倒卖。

2、恶意攻击竞争对手

如短信接口被请求一次,会触发几分钱的运营商费用,当量级大了也很可观。

3、压测

用 apache bench 做压力测试。

4、当程序员无聊的时候

什么是刷接口的"刷"字?

1、次数

2、频率

频繁,可能 1 秒上千次

3、用户身份难以识别

可能会在刷的过程中随时换浏览器或者 ip

判断接口是否是恶意?

根据用户粒度,如果该用户符合上面提到的“刷”的概念,就是恶意的。

用户粒度如何划分?

1、当前网页

优点:无
缺点:没有任何意义,一刷新页面用户的身份就变了

2、session

优点:伪造成本一般(可以理解成一个浏览器对应了一个用户)
缺点:当用户手动清除 cookie 的时候即失效

3、ip

优点:伪造成本高
缺点:要考虑一个公司、一个小区的人一般会共享一个 ip,所以适当的要放宽对单一 ip 的请求限制

ip 信息是存在请求头里的,而 https 对请求本身做了加密,可以防止 ip 信息被伪造或篡改。所以推荐服务器采用 https 传输。

当知道接口是恶意请求时,我们该怎么做?

一、直接拒绝访问

优点:简单粗暴
缺点:简单粗暴

二、返回“操作频繁”的错误提示

优点:提示友好
缺点:会把确实是操作比较频繁的真实用户拦截

三、验证码

1、图形

2、滑块

3、找不同

优点:精准识别请求是真人还是机器发出的,二次筛选出真正的用户
缺点:不够人性化,用户操作时间长、体验差

总结

安全问题是长期的和攻击者斗智斗勇的问题,没有一劳永逸的解决方案,不断交锋,不断成长

BAT等大厂Java面试经验总结 想获取 Java大厂面试题学习资料扫下方二维码回复「BAT」就好了回复 【加群】获取github掘金交流群回复 【电子书】获取2020电子书教程回复 【C】获取全套C语言学习知识手册回复 【Java】获取java相关的视频教程和资料回复 【爬虫】获取SpringCloud相关多的学习资料回复 【Python】即可获得Python基础到进阶的学习教程回复 【idea破解】即可获得intellij idea相关的破解教程关注我gitHub掘金,每天发掘一篇好项目,学习技术不迷路!



回复 【idea激活】即可获得idea的激活方式
回复 【Java】获取java相关的视频教程和资料
回复 【SpringCloud】获取SpringCloud相关多的学习资料
回复 【python】获取全套0基础Python知识手册
回复 【2020】获取2020java相关面试题教程
回复 【加群】即可加入终端研发部相关的技术交流群
阅读更多
为什么HTTPS是安全的
因为BitMap,白白搭进去8台服务器...
《某厂内部SQL大全 》.PDF
字节跳动一面:i++ 是线程安全的吗?
大家好,欢迎加我微信,很高兴认识你!
在华为鸿蒙 OS 上尝鲜,我的第一个“hello world”,起飞!

相信自己,没有做不到的,只有想不到的在这里获得的不仅仅是技术!



如果喜欢就给个“在看”

以上是关于接口防爆刷,就这么办!的主要内容,如果未能解决你的问题,请参考以下文章

后台登陆防刷、防爆破以及正常的登录校验

关于java Serializable接口的问题

这个怎么解,玩游戏缺少msvcp140.dll,就去安装vc++2017,但设置失败这么办

刷Q币漏洞代码

配置 kafka 同步刷盘

Eclipse项目里没有j2ee library这么办?