产品设计时登录注册流程需要注意的几个方面
一、 用户登录需要验证哪些信息?
这个也是和用户使用的登录方式有关,根据用户登录的方式,一般分类为一下几种:
(1)账号密码登录:用户输入账号密码登录
(2)第三方账号登录:第三方账号授权校验,比如QQ,微信号,邮箱,微博账号等
(3)手机验证码登录:用户属于关联手机号和手机验证码进行登录
可验证性的本质有两点:
可以验证用户身份的有效性;
可以在密码丢失的情况下找回密码。
当然,为了最大程度保证账号安全,这个外部账号最好可以是手机号。
账号密码登录有极大的撞库风险。一般而言,用户只用一个手机号,使用这个手机号在各种产品上进行注册。而有大量的用户使用相同或者相似的密码,一旦有产品安全漏洞,密码泄露,其他平台则可以被撞库登录。
第三方账号也存在相同的风险,一旦第三方账号密码被他人获取,则可以轻易登录网站。
也就是为什么大多数平台都采用第三方和手机号相结合的验证方式,一方面保证了登录的安全性,另一方面也是更详细的获取了用户的信息,为后期收集数据做以准备。
所以,如果是账号密码登录,第三方账号登录,存在异常登录情况,则需要进行安全信息的验证。
二、 用户名和密码
填写用户名和密码是用户注册一个传统的方式。但是这个方式目前也存在很多问题,比如被撞库。现在有些产品已经在尝试去掉这个环节。一方面是为了简化注册流程,增加注册转化。另一方面,移动时代,APP基本可以一次登录一直用,登录情况比较少,完全可以用手机号验证码登录,或者三方登录进行。
三、 发送验证码
注册验证码是为了防止机器大量刷注册量,尤其是部分注册不需要填写手机号的产品。可以使用图形验证码,也可以使用比较简单的用户行为验证码。
四、异常登录判定及验证
异常登录的判定也是一个相对比较复杂的过程:
(1)登录地点:如果一直在北京使用产品的用户,两个小时后出现在广东,则系统可能会判定为异常(但实际会出现显示登录城市与实际不符现在,具体会在后面专题中和大家分享)。
(2)登录设备:对于移动登录,如果更换了移动设备,则系统可能判定为异常。
(3)登录网络环境:IP变更,4G和wifi的变化(尤其谨防突然断网现象),系统都需要判定是否为异常。
(4)安全信息验证部分,如果用户绑定了手机号,则可以直接要求用户进行手机验证。如果用户没有绑定手机或者用户暂时不方便使用手机,则可以使用图形验证码或者也可以使用产品的历史记录信息进行验证
比如:
(1)历史购买商品记录
(2)历史状态定位地点
(3)产品内的好友验证
(4)发送给绑定该产品的通讯录好友进行验证
(5)人脸识别
五、验证形式
(1)输入验证码
验证码是验证当前操作是人为还是机器行为的方式。登录注册组件上,防止对密码进行暴力破解。
表现形式:有几种,“数字、字母、中文的组合”、图片辨别、滑块、手机短信、手机语音等形式。文字、滑块、选字、算数、行为识别、点选图案、图形选择
(2)忘记密码
忘记密码是为丢失或忘记密码的用户提供找回密码的方式。一般流程是 “验证身份 – 设置新密码” 。
验证身份的方式有几种,常见有:手机验证码、邮箱验证、安全问题验证、人工客服找回或重置。
六、流程设计
由于每个页面都要设计很耗费时间和精力,所以我只做简单地总结。
以注册为例,注册通用流程是:填写手机号码——获取验证码——填写密码。
(1)之前是在需要token的页面跳转到注册页面的话,注册成功后需自动跳转回之前的页面;
(2) 验证码的获取次数上限,技术限制和产品设计限制同步,避免被无限制获取;
(3)验证码获取时间,一般为第三方发送,但时间最好限定在5.5秒内让用户获取到;