如何防范短信接口被恶意调用(被刷)

问题描述

如何防止短信接口被恶意调用?

问题出现的环境背景及自己尝试过哪些方法

最近开发的新内容,又涉及到了发送短信这一功能。梳理代码发现,程序根本不能防止被恶意调用。  现已有的校验,记录用户的sessionid 和 手机号。  这里记录手机号的发送次数可以防止短信轰炸,记录sessionId是防止用户恶意调用,但是呢  sessionId是可以被模拟的,想到了一些别的用于校验的东西,比如:设备号,公网IP等,但是呢,设备号是可以被模拟的,公网IP也是可以被模拟的,并且如果限制了公网IP那么还可能会拦截掉一批正常的用户。

有同学解决过这一块的问题过吗? 能给出一套拦截的方案或者大概的思路吗? 感激不尽...

阅读 8.6k
3 个回答

这个问题在我们项目中也出现了,对于短信验证码登录这块,用户输入手机号码+短信验证码就可以登录。
如果没有这个用户,那么就注册之,有这个用户直接登录。
我们的解决方案是:在调用发短信验证接口之前,先去拿个token。token有时间限制,并且和手机号码、设备号码绑定。token过期必须要重新拿才能调用发短信接口。发短信的接口必须携带有效token才可以调用。那么只要保证token获取和加密机制不被人破解就没事。
为了以防万一,需要增加ip黑名单、次数限制、配置图形验证码等机制。

新手上路,请多包涵

1 自研验证码被破解怎么办?

1) 腾讯防水墙
2)网易滑动拼图验证码
3)顶象滑动拼图验证码
4)极验滑动拼图验证码

2 所有图形验证码都被破解怎么办?

选用新昕科技研发的[企业短信防火墙](http://www.newxtc.com),理由 :
1  应用AI立体防御技术,训练出“防短信轰炸”智能模型,彻底解决“安全”与“用户体验”的矛盾,互联网产品专注用户体验,无需为安全让步。
2 丰富可视化图表,防御拦截数据尽收眼底,实时查看当日数据详情与近期风险趋势。
3 SAAS极速接入,本地部署运行,毫秒级响应。交易风控引擎浓缩10M安装包,极速采集基础数据,匹配多维度风险特征。避免“云模式”网络延时问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题