编辑导语:在很多时候我们都会遇到登录的情景,不同的产品也会使用不同的登录验证方式,比如常见的短信验证、拖动滑块验证等等,这些功能的设计也是为了保障使用者的安全;本文作者分享了关于基础功能中的登录注册验证,我们一起来了解一下。
登录注册功能是大多数产品设计师(产品经理)入行第一步学习认知的功能模块,不管是APP的登录注册、H5的登录注册又或是PC端的登录注册;同时登录注册模块是整个产品体系中的核心模块,因为有登录注册模块我们在做产品设计和业务梳理的时候才知道我们是围绕着谁(用)在进行。
注意:有细心的看官可以发现,我常喜欢在文中说产品设计师们而非产品经理,这是因为我感觉初期产品经理更多精力是在设计功能和流程设计上,急需我们自己认知了解各自行业的业务流程以及解决方案的应用方式;在没有涉及商业化、战略等较为宏大认知的情况下,对于讲解系统设计和流程理解我都将称呼为产品设计师。(人人都是产品经理or人人都是产品设计师)
01 认知登录注册
登录注册是整个用户体系下基础模块,几乎95%的产品都需要登录注册进行支撑,同时我们在理解的时候需要看成登录、注册两个功能模块;注册模块的核心在于边界的加入集体,登录模块的核心在安全的进入集体。
由此,这两个功能模块看起来似乎十分的简单,只要能让用户能够加入、进入集体就行,但是事以愿违想要设计好这两个功能模块,做到便捷和安全其实还有很多细节需要研讨。
下面是通过的注册流程,大家参考即可:
02 登录注册的演变
注册是让用户加入集体的第一步,同时注册的方式五花八门,主流的有手机号、邮件、自定义用户名、第三方关联等注册方式;可能大家没考虑过为什么会有这么多不同的注册方式,其实这些方式都是互联网时代演变的产物。
- 互联网初期:是拨号上网。手机号不普及只有bb机、座机等,面临一个拨号多人使用的局面,自定义用户名注册合适的。
- 互联网中期:低宽带上网,移动电话开始普及,但是基础建设不健全,面临短信费用贵等问题;同时电子邮件开始兴盛,产品为了更好联系沟通用户,开始关联邮件注册,但是互联网黑色产业开始孵化。
- 互联网后期:4G蓬发,移动电话普及80%以上,在一线城市基本95%以上。为了更好的了解、联系触达用户,同时为了打击互联网黑色产业开始实施手机号在注册。(QQ注册是最明显的)
- 互联网现在:生态成熟。大家开始追求用户体验让用户更便捷,更快速加入集体,开始启用授权关联等方式进行注册
03 登录注册的方式
在外人看来,登录注册的逻辑十分的简单,不外乎设置账号-设置密码,输入账号-输入密码就完了,其实里面门门道道很多;不管是游戏、网页还是应用,只要有涉及用户功能或业务流程,99%都有登录注册功能。
对于登录注册,我们可分为有感知和无感知。有感知是指用户明显参与到登录注册流程中,无感知是用户轻度参与到流程中完成登录注册;例如,有感知的流程是账号,密码还有验证码的登录注册。无感知的手机号静默登录,第三方授权注册等。
在选择登录注册方式上,我们要根据我们业务需求进行合理选择那种验证方式作为验证用户真实性的依据;毕竟我们所需要的是真实存在用户,而不是在数据库中那虚拟的用户账号。因此才会有登录注册的验证手段,例如,手机的短信验证,邮箱的验证码和链接验证等。
在选择登录注册方式的时候,我们通过成本、用户体验和实际需求出发去选择。
1)成本
不管是短信验证码,还是邮件验证都需要购置相应的服务,作为产品设计师,我们只需简单了解下就行,最终评估还是由项目经理确认。
短信以阿里云为例,一条验证码的基础成本(不含人力调试)在0.035-0.045左右。语音验证码在0.085-0.1左右。
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位数字作为验证码即可。
3. 邮件链接验证
比较验证码验证和链接验证,他们两个的安全性相似,唯一差异较大的地方就是操作方式的不同。链接验证的方式主要是国外PC浏览器上使用较多,主要是在用户注册完成后,将链接发到用户注册邮箱上,用户通过点击链接进行验证。
因为国内互联网发展快,还有大规模养成电子邮件的习惯就直接进入移动互联网,所有在国内不太流行;如果确实需要通过邮件进行验证,那需要和使用短信验证一样去联系邮件服务商,购买相应的服务能力。
4. 防机器人验证
防机器人验证(我自己随意称呼为了好区分其他验证)的作用是防止人为使用机器人进行大规模模拟用户操作,从而造成产品损失;我们主要是在登录注册的时候遇见,比如在接受验证码的时候需要拖拽方块,或是根据图片内容输入数字等。
发送短信前进行验证,一方面这种是为了避免用户恶意申请注册短信的发送,造成短信成本耗损;另一方面防止不法分子利用我们的注册登录短信进行短信轰炸,所以加一个小小的验证就可基本杜绝绝大部分这种情况。
我们在设计这类验证码的时候需要注意OCR(图像识别技术)。如果我们的验证图片过于简单清晰,那么可以轻而易举的被OCR识别,这样非法人员一样可以达到使用机器人请求;但这都是建立在自家产品对于这类技术人员有利可图的情况下,一般大牛没心思去搞你,所以做一个简单的就行~
常见的防机器人验证方式有滑块、按需点图和看图输字三种:
也有比较特立独行的,比如知乎点击图片中倒立的汉字。
这些验证方式看似花样奇多,但他们都只有一个目的,都是为了筛选拦截机器人。因此,我们可以根据自己产品来设计验证,例如我是车类产品,那么我们验证码可以是让用户找出图片内指定汽车标示。又或者我是游戏类产品,那我验证码可以是让用户选择指定英雄技能,等等。
所以这里我们自已选择合适自己的验证方式即可。
05 最后
这篇文章并没有十分详细的说明登录注册每一步该如何设计,因为我觉得太过于常见反倒是写不好,同时也是因为很多大佬已经写过。
所以,我也就简单的说说登录注册中选择手机、邮箱作为验证方式的原因,再简单的说下验证方式我们需要注意的地方就没了。
这里埋个坑关于基础功能理解的坑,后续慢慢填。