2023年7月31日发(作者:)

短信验证码防刷思路短信验证码防刷思路1、时间限制:60秒后才能再次发送从发送验证码开始,前端(客户端)会进⾏⼀个60秒的倒数,在这⼀分钟之内,⽤户是⽆法提交多次发送信息的请求的。这种⽅法虽然使⽤得⽐较普遍,但是却不是⾮常有⽤,技术稍微好点的⼈完全可以绕过这个限制,直接发送短信验证码。2、⼿机号限制:同⼀个⼿机号,24⼩时之内不能够超过5条对使⽤同⼀个⼿机号码进⾏注册或者其他发送短信验证码的操作的时候,系统可以对这个⼿机号码进⾏限制,例如,24⼩时只能发送5条短信验证码,超出限制则进⾏报错(如:系统繁忙,请稍后再试)。然⽽,这也只能够避免⼈⼯⼿动刷短信⽽已,对于批量使⽤不同⼿机号码来刷短信的机器,这种⽅法也是⽆可奈何的。3、短信验证码限制:30分钟之内发送同⼀个验证码⽹上还有⼀种⽅法说:30分钟之内,所有的请求,所发送的短信验证码都是同⼀个验证码。第⼀次请求短信接⼝,然后缓存短信验证码结果,30分钟之内再次请求,则直接返回缓存的内容。对于这种⽅式,不是很清楚短信接⼝商会不会对发送缓存信息收取费⽤,如果有兴趣可以了解了解。4、前后端校验:提交Token参数校验这种⽅式⽐较少⼈说到,个⼈觉得可以这种⽅法值得⼀试。前端(客户端)在请求发送短信的时候,同时向服务端提交⼀个Token参数,服务端对这个Token参数进⾏校验,校验通过之后,再向请求发送短信的接⼝向⽤户⼿机发送短信。5、唯⼀性限制:微信产品,限制同⼀个微信ID⽤户的请求数量如果是微信的产品的话,可以通过微信ID来进⾏识别,然后对同⼀个微信ID的⽤户限制,24⼩时之内最多只能够发送⼀定量的短信。6、产品流程限制:分步骤进⾏例如注册的短信验证码使⽤场景,我们将注册的步骤分成2步,⽤户在输⼊⼿机号码并设置了密码之后,下⼀步才进⼊验证码的验证步骤。7、图形验证码限制:图形验证通过后再请求接⼝⽤户输⼊图形验证码并通过之后,再请求短信接⼝获取验证码。为了有更好的⽤户体验,也可以设计成:⼀开始不需要输⼊图形验证码,在操作达到⼀定量之后,才需要输⼊图形验证码。具体情况请根据具体场景来进⾏设计。8、IP及Cookie限制:限制相同的IP/Cookie信息最⼤数量使⽤Cookie或者IP,能够简单识别同⼀个⽤户,然后对相同的⽤户进⾏限制(如:24⼩时内最多只能够发送20条短信)。然⽽,Cookie能够清理、IP能够模拟,⽽且IP还会出现局域⽹相同IP的情况,因此,在使⽤此⽅法的时候,应该根据具体情况来思考。9、短信预警机制,做好出问题之后的防护以上的⽅法并不⼀定能够完全杜绝短信被刷,因此,我们也应该做好短信的预警机制,即当短信的使⽤量达到⼀定量之后,向管理员发送预警信息,管理员可以⽴刻对短信的接⼝情况进⾏监控和防护。以上所说到的⽅式,或许不是很完美,但是可以通过多个⽅式结合着来作使⽤,通过多个规则来降低短信被刷的风险。

2023年7月31日发(作者:)

短信验证码防刷思路短信验证码防刷思路1、时间限制:60秒后才能再次发送从发送验证码开始,前端(客户端)会进⾏⼀个60秒的倒数,在这⼀分钟之内,⽤户是⽆法提交多次发送信息的请求的。这种⽅法虽然使⽤得⽐较普遍,但是却不是⾮常有⽤,技术稍微好点的⼈完全可以绕过这个限制,直接发送短信验证码。2、⼿机号限制:同⼀个⼿机号,24⼩时之内不能够超过5条对使⽤同⼀个⼿机号码进⾏注册或者其他发送短信验证码的操作的时候,系统可以对这个⼿机号码进⾏限制,例如,24⼩时只能发送5条短信验证码,超出限制则进⾏报错(如:系统繁忙,请稍后再试)。然⽽,这也只能够避免⼈⼯⼿动刷短信⽽已,对于批量使⽤不同⼿机号码来刷短信的机器,这种⽅法也是⽆可奈何的。3、短信验证码限制:30分钟之内发送同⼀个验证码⽹上还有⼀种⽅法说:30分钟之内,所有的请求,所发送的短信验证码都是同⼀个验证码。第⼀次请求短信接⼝,然后缓存短信验证码结果,30分钟之内再次请求,则直接返回缓存的内容。对于这种⽅式,不是很清楚短信接⼝商会不会对发送缓存信息收取费⽤,如果有兴趣可以了解了解。4、前后端校验:提交Token参数校验这种⽅式⽐较少⼈说到,个⼈觉得可以这种⽅法值得⼀试。前端(客户端)在请求发送短信的时候,同时向服务端提交⼀个Token参数,服务端对这个Token参数进⾏校验,校验通过之后,再向请求发送短信的接⼝向⽤户⼿机发送短信。5、唯⼀性限制:微信产品,限制同⼀个微信ID⽤户的请求数量如果是微信的产品的话,可以通过微信ID来进⾏识别,然后对同⼀个微信ID的⽤户限制,24⼩时之内最多只能够发送⼀定量的短信。6、产品流程限制:分步骤进⾏例如注册的短信验证码使⽤场景,我们将注册的步骤分成2步,⽤户在输⼊⼿机号码并设置了密码之后,下⼀步才进⼊验证码的验证步骤。7、图形验证码限制:图形验证通过后再请求接⼝⽤户输⼊图形验证码并通过之后,再请求短信接⼝获取验证码。为了有更好的⽤户体验,也可以设计成:⼀开始不需要输⼊图形验证码,在操作达到⼀定量之后,才需要输⼊图形验证码。具体情况请根据具体场景来进⾏设计。8、IP及Cookie限制:限制相同的IP/Cookie信息最⼤数量使⽤Cookie或者IP,能够简单识别同⼀个⽤户,然后对相同的⽤户进⾏限制(如:24⼩时内最多只能够发送20条短信)。然⽽,Cookie能够清理、IP能够模拟,⽽且IP还会出现局域⽹相同IP的情况,因此,在使⽤此⽅法的时候,应该根据具体情况来思考。9、短信预警机制,做好出问题之后的防护以上的⽅法并不⼀定能够完全杜绝短信被刷,因此,我们也应该做好短信的预警机制,即当短信的使⽤量达到⼀定量之后,向管理员发送预警信息,管理员可以⽴刻对短信的接⼝情况进⾏监控和防护。以上所说到的⽅式,或许不是很完美,但是可以通过多个⽅式结合着来作使⽤,通过多个规则来降低短信被刷的风险。