2)实际需求
越是迫切需要大量的用户入场,那么相对应注册门槛就不能太高,甚至是把用户验证延后到使用后,但相对于需要承担用户真实性的问题;这个比较灵活,看自身公司的环境进行选择(想用什么用什么,什么好用就用什么,没那么多个规矩流程要走)。
3)用户体验
选择用户接受度高的方式。
04 密码和验证内容验证内容是指验证用户身份信息的内容,如密码验证、短信验证、邮件验证或防机器人验证等,其中验证码和验证链接两种。
从功能目的上出发,两者是相同的,都是为了确认登陆者和注册者是否一致。而另外一种滑动块,输入验证图片等这类功能验证,是为了判断是否为真人。
1. 密码验证
密码是最常见的验证码方式,从简单的数字密码到复杂的复合密码我们都能看见;但是什么情况下用纯数字密码,什么情况下用复合密码,这是我们设计的时候需要考虑的。
我们可以从以下几个环节进行选择:
- 面向群体:需要考虑受众群体的阶级,是年轻人还是老年人、一线城市还是三四线城市、文化教育程度是这样的等等。
- 账户的安全级别:这也是产品对于用户的重要性。像支付宝、微信、银行APP这类十分重要的产品应用,我们就需要考虑提升密码的复杂程度。以防止密码被他人“跑”出来。(重要的产品应用还有对应的风控策略)
- 公司内部规范:不同人公司内部规范不同。作为打工人,第一步要学习的就是跟着公司的规范要求做产品,而不是一来就按照自己的想法我想怎么做。
提升复杂性我们可以从长度、复杂性、弱口令等几个方面入手:
- 长度:要求密码长度不能短于多少位字符,例如:不少于15个字符。但是字符限制越长用户就越记不住。(字符:一个字母、数字、符号算一个字符,一个汉字算两个字符)
- 复杂性:要求密码不能单一,必须包含数字、字母和符号。同时字母还要区分大小写以及密码内容不能是连续使用,例如,123、ABC、qwe、asd。
- 弱口令:禁止出现123、12345、abcde这类出现频率高且十分简单的密码;同时密码里面不能包含工号、手机号、身份证号、名字缩写等内容。(弱口令:指十分容易被猜到的密码)
这里需要注意,我们其实不需要造轮子。有很多app都有成熟的设计,我们直接“借鉴”即可;但是这里写明需要考虑的东西,是为了让我们理解为什么会这样设计;务必不要工作中造轮子费时费力,除非你是在学习。
推荐使用:6-18位字符,区分大小写,不强制要求包含两种字符。
2. 邮件、短信验证码
验证码的设计我们可以通过时效性、复杂性以及用户体验三方面入手。调整时效性,我们可以让原本30分钟内有效的验证码变成只有1分钟内有效,这样增加了验证码传播难度。调整复杂性,我们将4位验证码增加到8位验证码,从纯数字验证码变成字母验证码或是数字 字母。
同理为了提升用户体验,我们可以将验证码变短同时包含顺序,以求方便用户记忆;而且我们也可以将验证环节进行延后,甚至是采用新技术在用户环节取消验证(三网的手机号一键登录,通过识别你手机4g信号来直接验证)。
ps:图片来源互联网:手机号一键登录
推荐使用:4-8位数字作为验证码即可。