微服务接口的防刷、防重、限量应该如何设计

本文探讨了防止网站被恶意刷量的方法,如验证额外参数、先通过注册页并请求前置接口、控制同一手机号的请求频率、增加图形验证码等。还提到了Java开发者的学习资源,包括一份全面的Java开发学习资料,包含了从基础到进阶的内容以及面试题解和实战项目。
摘要由CSDN通过智能技术生成

那么,如何防刷?

验证额外参数信息

验证客户端请求头的一些额外参数,比如是否存在浏览器或手机型号、设备分辨率请求头。因为像那些爬虫,一般就只能接收到URL。

先过注册页

无论何种客户端注册,一定要先进入注册页,才能看到验证码按钮。

所以可以在页面打开时请求固定的前置接口,为这个设备开启允许发送验证码的窗口,之后的请求发送验证码才算合法请求。

这可以拦截绕过固定流程,直接通过接口调用验证码的请求。

控制同一手机号的发送次数、间隔

除非是没收到短信,否则用户不太会请求了验证码后不点击注册,还重新请求。

所以,可以限制同一手机号每天的最大请求次数。还要控制好发送的时间间隔,常见的至少间隔1min。

增加前置操作。

短信轰炸平台会收集很多免费短信接口,而且一个接口它们也只会给一个用户发一次短信,不会触发上一条规则。

对于这种情况,可以将图形验证码作为前置条件。技术🐂🍺的还可使用滑块、验证码文字点击、人机检测。

限量

对优惠券这种虚拟资产,平台方必须确保其使用界限。

对于商家,可能只是收到一个用户支付的订单,并不知道用户使用了平台的优惠券。

大部分平台和商家都是事后对账结算,所以下单了就会马上安排发货,事后造成大量资金损失。大量跟风网络主播被薅羊毛的店铺就是这么没的。

优惠券应该需要提前申请:用于何种活动、谁申请的。

幂等

考虑如下:

  1. 幂等依据

每次交互生成的token、客户端的序列号、有意义的业务订单号等

  1. 根据幂等依据进行幂等处理:
  • 限制:比如锁、状态机控制

  • 去重

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

更多笔记分享

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
uaQ2t60-1712437333866)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值