Springboot短信防刷接口实现及Dubbo、Zookeeper整合

 

 

需求分析

一、站在被攻击者的角度而言,首先要保证的是:其手机号短时间内不收到多条短信(假定为每分钟最多收到1条),而若攻击者以分钟为单位调用接口,对被攻击者而言也难以接受,故同样要保证的是:被攻击者在同一天内不收到多条短信(假定为5条)。

二、站在服务提供者的角度而言,平台不希望发出大量无用短信,从而增加系统压力与短信费用,但不能以简单的限制每日发送短信总数量来做处理,因为当攻击者恶意调用多次接口导致系统不再提供服务后,将影响用户的正常注册。同时,在业务增长期,注册人数难以用固定的数值来衡量,对于平台而言,识别出可疑的异常调用者是最好的解决方案。

三、站在普通用户的角度而言,在能够保证正常注册以外,注册的体验也较为关键,比如:未收到短信时点击重新发送的时间不宜过长、验证码不宜太过复杂等。

四、系统压力与处理速度上,若这一套防刷机制过于复杂,在调用时要进行多种检验、判断,会对系统造成压力,同时用户收到短信的速度也会减慢。

在各类场景如:

1.同一ip对同一手机号的大量发送

2.同一ip下对不

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值