|
|
51CTO旗下网站
|
|
移步端
  • 一度短信验证码功能引发的总结思考

    副简单的效应探寻背后的技艺奥秘。艺术就是在生存中~明朝看到一个地方,新用户免费领取X登读书APP的14远处会员,2020年了,要从头读书了。

    笔者:aflyun 来源:Java编程技术乐园| 2020-01-06 13:11

    副简单的效应探寻背后的技艺奥秘。艺术就是在生存中~

    剧情

    明朝看到一个地方,新用户免费领取X登读书APP的14远处会员,2020年了,要从头读书了。观看这个活动是在笔记本上,于是乎用笔记本浏览器访问活动页面,步入手机号,接受验证码,填写验证码,领取这个会员。原有以为一切就是这样顺利的扫尾了,然而并不是,填写验证就提醒“网络错误”。这不正确啊,表现程序员,我从意识的按了一下F12,开拓了开发者工具,于是乎看到了下面的错误,如图:

    名将错误单独截图出来:

    大概一点就是出现了跨域的题材。我想了一下,那估计这个活动是针对移动端的,我用PC头访问导致出现跨域。其一地方计划不好。

    于是乎用手机去拜访活动页地址,正常打开,下一场填写手机号,下一场提示:

    我刚才PC发了几次验证码,其一地方计划还是考虑到安全性了,科学。

    我只能等待,在开发力度,其一就是在一番固定的年华周期内,我之无绳电话机号只能发固定次数的验证码,超过这个数目,就不会给我再发了,一度是安全考虑(接口频繁调用),另一番可能也是费用考虑( 防止短信验证码被刷)。

    过了一段日子,我在去手机端试着领取,意识一切顺利,领取成功。

    观看这里的伴儿如果是新用户,也对阅读有点兴趣,那可以领取这个会员体验一下(不是广告)。地点:http://t.cn/AiFfyICx

    到此处本该就结束了,但是作为一个开发人员,我以为要简单整理一下这个发短信的效应,因为这个意义虽然看似简单,其中深究起来也有许多地方需要注意以及考虑的。

    短信验证码设计总结

    互联网的时期,发送短信验证码已经作为很多产品中必不可少的一个功能。用于的面貌也是很多,如注册登录、银行转化、传销活动等(真的有许多场景,我就不多举例了)。

    那在发送验证的时节,其实很多商店用之都是第三方的短信服务,其一短信的劳务是要求收费的,世上没有免费的午餐。这就是说就出现 刷短信的黑暗工具——短信轰炸机 。

    短信轰炸机就是一番用到写好的程序来大批量刷短信的硬件,他亦可通过自动批量提交手机号、宪章IP等艺术去刷短信。

    如果 要求用到短信验证码的产品的时节,永恒要制定限制规则 ,搞好设计。

    重点条件:发送验证码是前者和后台是要求共同设计的,这样相对才能更加周到或者更加周到。

    重点思路:

    1、时光限制

    xx秒后才能再次发送,正常操作

    普通点击验证后,在前端(客户端)会进展一番xx秒之底数(其一倒计时可以根据现实产品具体工作定,很多是60s)。在这一定的年华内,他家是心有余而力不足提交多次发送信息的呼吁的。

    现实时效限制要考虑产品本身属性,借鉴难易度,网络延迟,短信资费成本等。

    2、图片验证码限制 + 时光限制

    (1)、在需求发送验证的码的时节,先让用户输入验证码,顶输入的验证码通过后,才能请求获取短信验证码,否则获取验证按钮不激活。

    (2)、在呼吁获取验证后,普通在前端(客户端)会进展一番xx秒之底数(其一倒计时可以根据现实产品具体工作定)。在这一定的年华内,他家是心有余而力不足提交多次发送信息的呼吁的。

    这一点,图片验证码不一定是必须的。可能为了有更好的客户体验,一开始不需要输入图形验证码,在操作达到一定量后,才需要输入图形验证码。现实情况请根据现实场景来开展规划。

    这种方式虽然使用得比较广泛,但是却不是异样有用,艺术稍微好点的人数完全可以绕过这个限制,直接发送短信验证码。

    如果前台倒计时60s,看台验证码的失效时间设计肯定不能是60,普通会是5~10分钟。

    3、手机号+指定时间可以发短信次数限制

    同一个手机号,指定时间之内不能够超过x条。

    对利用同一个手机号码进行登记或者其它发送短信验证码的借鉴的时节,系统可以对这个手机号码进行限制,例如,1小时只能发送3条短信验证码,超出限制则进行报错(如:系统繁忙,请稍后再试)。然而,这也只能够避免人工手动刷短信而已,对于批量使用不同手机号码来刷短信的机械,这种方式也是不得已的。

    4、IP及Cookie限制

    限制相同的IP/Cookie消息最大数量

    采用Cookie或者IP,能够简单识别同一个用户,下一场对相同的客户进行限制(如:xx时光内最多只能够发送xx条短信)。然而,Cookie能够清理、IP能够模拟,而且IP还会出现局域网相同IP的状况,故此,在采取此方法的时节,有道是依据现实情况来考虑。

    这样在先后三线的基础上防止恶意刷手机验证码短信,如果同一个ip多次请求获取手机验证码短信,因为短信需要钱,竞争对手很可能恶意刷去。(咱们对别人心怀善意,但是内心要有防备之心)

    5、短信预警机制

    监督短信服务,搞好出题目后的防护

    上述的主意并不一定能够完全杜绝短信被刷,故此,咱们也应有做好短信的预警机制,即当短信的运动量达到一定量后或者短信发送接口被超量调用,向管理员发送预警信息,组织者可以立刻对短信的接口情况进行监督和防护。

    顶我整理了相关的素材后,稍微懂得了今日上文出现的题材,移步端验证码正常验证成功,而PC头不能进行检查的由来。可能是产品计划上的限制恶意刷短信,做了跨域请求限制。 也或许这就是一番bug(不让程序员背锅)。

    后记

    一度看似简单的效应,要简单做可以很简单,要复杂也得以很复杂,表现一个艺术人员,刺探业务,刺探使用场景,刺探用户量等,圆满考虑,多端的时期,冷水性等也要考虑。

    其实这个题目如果可以仔细想知道的话,如果以后遇到就能够全面考虑,并且开发人员总是说自己做增删查改,其一的效应设计好,其中涉及了增删查改,更涉及了一番开发对效益的计划能力。

    搞好每一个小的效应,副小的中央提升用户体验,是产品和付出共同之义务。

    说到底在说两线,观看的爱人思考下:

    1、看台应该如何处理验证码,保留在什么地方,内存,缓存,还是必发娱乐登录?

    2、怎么样的短信验证码用户体验好,情节和验证码长度?

    【编纂推荐】

    1. 原本Word付出工具还能这么用,你知道吗?
    2. 闻讯你做图表联动还要编程?欧委会这个工具,成分分钟搞定
    3. 副 VSCode 瞧大型 IDE 艺术架构
    4. 值得推荐的 Docker 安全开源工具
    5. 几款鲜为人知的适用工具,你都尝试过吗?
    【义务编辑: 华轩 TEL:(010)68476606】

    点赞 0
  • 艺术  工具  工具
  • 分享:
    大家都在看
    猜你喜欢
  • 订阅专栏+更多

    Python使用场景实战手册

    Python使用场景实战手册

    Python使用场景实战手册
    共3章 | KaliArch

    10人口订阅学习

    一步到位玩儿透Ansible

    一步到位玩儿透Ansible

    Ansible
    共17章 | 骏马金龙1

    101人口订阅学习

    云架构师修炼手册

    云架构师修炼手册

    云架构师之必不可少技能
    共3章 | Allen在路上

    30人口订阅学习

    读 书 +更多

    Java面向对象编程

    Java是目前最盛行的程序设计语言之一。资本书以Java新型版本Java SE5为基础,涵盖了Java SE5新型特性,稳中求进地介绍了Java SE5的首要内容。...

    订阅51CTO邮刊

    点击这里查看样刊

    订阅51CTO邮刊

    51CTO劳务号

    51CTO官微



  •