0

接收短信验证码怎么防止被攻击?

比如用程序生成随机手机号,不断模拟点击接收短信,可以把短信耗干,怎么防止呢?

mypoly 1.7k
2017-11-29 提问
10 个回答
1

这个问题我之前也搜过一圈,总结来看,最有效的还是图形验证码。

也可以试试一些集成好的账号系统,比如 http://www.onlyid.net 等,就没有这些烦心事了。

0

加入时间间隔 不允许一直发送

0

一分钟倒计时之内不能点击发送短信

0

目前最有效的方法还是使用图片验证码,只是体验稍差一些,但效果非常好,如果是12306这样的验证码,那么恭喜你,你的短信基本不太会有人去攻击了(^_^)

0

完全防止是不可能的,只有尽可能减少。

1.验证码 + 时效(机器人
2.IP封锁,同一IP地址一天内最多发送N次(爬虫代理
3.手机号封锁,同一手机号间隔N秒可发送,一天内最多发送N次
4.手机号验证,最基础的一步

可以借鉴各大网站如何实现的。

0

楼上那哥们说得很对,我通常用第三种

0

最有效的确实是图片验证码。其他方式,都防不住恶意来浪费你短信的。
大部分倒计时,是针对“友好”用户,防止他手贱不停点,并不是针对恶意用户特意来浪费你短信的。特意浪费短信的,手机号都是假的。

我自己目前的解决方案是:
1、注册。
注册时填写手机号等信息,提交后才发送验证码(手机号写入数据库)并转到B页面。再字段里添加一个短信发送时间和短信发送次数。注册时短信发送次数设置为1。在B页面填写验证码,因为要防止没有收到验证码,所以需要再来个按钮获取验证码。当点击获取验证码后,发送验证码,发送次数为+1。当发送次数为3次之类的,就提示不发送,一个小时之后再来。每次发送验证码时间限制为1分钟。1小时之后再来,发送验证码,发送次数设置为1.以此类推。

2、重置密码。和注册的思路一样,输入手机号,获取验证码,验证码次数为1,再次点击(60秒限制,包括PHP后端语言也有校验),发送验证码,次数设置为2.当次数超过3时,提示1小时之后再来。

这个思路,图片验证码都不需要了。

0

图片验证码。

0

一般 接收短信验证码 提供商已经有限制 每天每用户发送次数,或固定模板格式。

0

一般这个安全机制短信平台都会有限制的,另外运营商也会限制的,比如一分钟3条,一个小时20条等等,http://smsow.zhenzikj.com/doc...

撰写答案

推广链接