验证码的作用:防止机器识别
【一】数字,英文,中文的组合
优点:实现成本低。
缺点:用户需要在鼠标-键盘、中英文之间切换(对于中英文混合的验证码),看似只是简单的输入几个字母或数字,实际却需要多步操作,且不具备任何趣味性。
优化:
- 增加验证码字符个数或者使用混合中英文都可以提高安全性,但尽量通过增加字符个数而非使用混合中英文形式,因为这样可以减少用户切换中英文输入的操作。
- 如果验证码中存在英文字母,最好统一大小写,并给出验证码不区分大小写的提示,尽管大部分情况下,用户自己知道验证码不区分大小写。
- 尽量不要使用难以辨别的字符如“1、l、0、O、Z、2”等。
【二】图片辨认
优点:相较于第一种形式,操作简单,只需要点击鼠标即可完成。
缺点:如果图片太过相似(比如给你几个韩国女明星让你去选),会大大增加用户的输入成本,甚至引起用户的反感。
【三】滑块
优点:操作简单、趣味性强。
缺点:实现成本较高。
优化:可以从提高趣味性入手,在用户拖动完成后可给出用户花费的时间及打败了百分之多少用户,就像一个小小的游戏一样。
【四】手机短信
优点:适用性广,除了防止恶意注册登录外,同时完成了对手机号码真实性的校验,一举两得。
缺点:需要一个专门的短信发送平台,并向电信运营商支付短信费用,部分APP的短信等待时间偏长,影响用户体验。
优化:使用短信发送验证码时,把验证码尽量放在短信的前面,这样用户不需要双击短信进入短信查看就能看到验证码。
【五】旋转图片
【六】手机语音验证码
这种形式主要是对由于各种原因无法正常接收短信验证码的补救措施,比如在短信验证码的输入框旁边会有小小的提示“收不到验证码?”,点击提示可使用语音验证码。