如何快速设计短信验证码

最新文章 9167℃

什么地方会用到短信验证码

最常见的是各种产品的注册流程。短信验证码可降低非法注册、重复注册率,同时真实的手机号信息也利于产品运营。除注册外,登录,找回密码,开户,支付、更换设备等流程中也经常需要短信验证码来验证身份。

 

短信验证码的作用

1.产品角度考虑:验证码的本质是为了区分用户是计算机还是人,防止恶意破解密码。

2.用户角度考虑:短信验证码更方便快捷,降低繁琐密码的记忆成本与输入成本。

 

短信验证码的组成

目前的短信验证码一般为4位或6位数字。为什么是4或6?

  • 安全角度考虑

4位数,0000到9999,需要10000次尝试,总共需要500秒;

6位数,000000到999999,需要1000000次尝试,总共需要50000秒,10个多小时时间。

加上验证码的有效时间限制(一般多为5分钟)及输入次数有效性的限制,可以说是比较安全了。

 

  • 方便记忆角度考虑

短时记忆 xx+xx或xxx+xxx与xx+xxx或xxx+xx比较的话,xx+xx或xxx+xxx容易记忆。所以4位或6位的组合更方便记忆。

 

短信验证码的成本

一般是在3-7分/条,单看一条觉得没什么,结合用户量折算下来成本就不小了。所以在设计过程中也要考虑这个因素,避免不必要的浪费。

 

 

如何设计短信验证码

 

设计中需要考虑的核心要素:准确、高效、安全

页面

  • 页面形式

目前大多数平台验证码输入为独立页面。其优点是信息可以高度聚焦,提高准确率。其次作为交互组件,可在平台的不同流程中灵活调用,节省设计开发成本。

01

  • 输入框细节交互:

* 默认位数提醒,如——————

* 考虑禁掉复制粘贴,原因是出于安全性考虑,防止恶意攻击(目前各家平台并没有都设置禁掉复制粘贴);

* 若验证码为独立页面,可在输入完成后自动开启校验,减少点击。

  • 倒计时交互:

* 小于XX秒时,显示倒计时秒数(一般多为60秒)。大于等于XX秒时,切换为“重新发送”;

* 点击“重新发送”同时,可清空输入框,减少不必要点击;

* “重新发送”按钮需添加验证码条数或次数等限制判断;

* 超过条数或次数上限,重新发送按钮可考虑变为置灰不可点。

  • 键盘:调用数字键盘。(小细节容易被忽略)
  • 验证码获取次数及条数判断:

一般出于安全及成本考虑,需在执行获取验证码命令时添加条数、次数等相关限制判断,具体校验规则依据产品需求而定,判断节点可规范化考虑。主要两种场景:

* 场景一:在进入验证码页面同时自动发送验证码的场景下,需在触发进入验证码页面的按钮处添加限制判断。

* 场景二:输入验证码页面,手动获取验证码按钮需添加限制判断。

  • 验证码页面返回拦截:

出于成本考虑,一些APP还添加了拦截弹窗,验证码页面点击返回,弹窗提示:“验证码短信可能略有延迟,确定返回并重新开始?”。

  • 验证码校验loading状态:loading时可禁掉页面点击(除返回),防误操作或爆力点击。

 

短信本身

推荐结构:【平台名称】111111(动态验证码),说明文案说明文案说明文案。

第一时间可以get到数字验证码,方便输入。

02

短信验证码为什么不支持复制粘贴

主要是出于安全考虑,降低被恶意攻击破解的风险。细心的同学可以发现支付宝的短信验证码就是禁掉了复制粘贴功能。不过一些安卓手机已经可以将短信验证码自动复制粘贴,甚至还有验证码管理小工具,可以将这种短期失效的信息进行统一删除管理,用户感觉还是很方便的。其实如果真的解决了安全问题,如此方便岂不是更好。

 

 

反过来思考

短信验证码的本质其实就是身份验证,弱身份绑定及便捷性让其大受欢迎,同时网络实名制及手机号实名制的推行也起到了一定助力作用。从身份验证角度出发,目前也诞生了一些更安全便捷的方式:人脸验证、指纹验证、扫码认证、推送认证、声音暗号等。所以验证身份的方法也不止局限于短信验证码一种,可以结合产品、技术提供更多的解决方案。

03

想要快捷又方便地实现产品的短信功能,可以试试网易云信的验证码短信,既支持自己生成验证码,也提供代生成验证码功能,不同的方式,不同的满足!还有到达率99.9%的语音验证码和国际短信功能!