一个产品该如何识别自己的用户?哪些场景要求用户登录或者注册?注册需要哪些信息?用户登录需要校验哪些信息?在互联网产品长期发展中,很多问题大家也基本总结出了标准化的方案。这期主要是围绕这些问题,盘点登录注册流程的各种功能以及其应用场景。
1. 一个产品该如何识别自己的用户?
这个问题比较宽泛,其实要识别用户主要分类为两种场景:登录前,登录后。
登录前
大部分产品登录前是可以使用很多功能的,这里就存在一个用户识别的问题,解决方案主要是取决于用户使用的平台。如果使用的是浏览器,主要的方法是通过cookie。如果是移动设备,则可以使用设备ID,比如Android的device ID,iOS的IDFA。当然,如果是微信平台,也可以使用微信的OpenID。
登录后
登录后识别用户的方式也有多种,比如使用的第三方账号ID,比如使用注册手机号,比如使用注册的邮箱。但是,最一般也是最推崇的做法是,使用自己的一个user ID。同时,所有的产品功能如果需要识别用户身份,也都应该用user ID进行识别。同时,手机号,注册邮箱、第三方账号等其他关联信息,都应该可以和这个user ID进行关联。这样能最大程度保证账号体系的稳定性和扩展性。
2. 哪些场景下要求用户登录或者注册?
要求用户在使用产品前注册或者登录,是最简单粗暴的方法,但是这里可能对用户增长有很大的影响。所以对于用户认知没那么高的产品,一般而言,不会要求用户立即注册或者只是要求简单的注册。把注册流程或者补充注册信息的内容,后置到一些关键节点,是更明智的做法。
比如:
查看更多评论的时候查看其他用户个人主页的时候评论和点赞内容的时候商品结算的时候企图使用某些特权功能的时候
典型的做法,比如电商,点击购物车结算才会要求用户登录注册,这样的方式更能留住用户,而不是在使用产品之前就流失。
3. 注册需要哪些信息?3.1 可验证的外部账号验证
比如手机号、邮箱这些个人通讯账号,或者有通讯账号属性的社交网络账号,比如QQ号,微信号,微博账号。一般而言,这些账号的特点是,可进行验证性。比如邮箱、手机的验证码,微信QQ、微博账号的授权登录。
可验证性的本质有两点:
可以验证用户身份的有效性可以在密码丢失的情况下找回密码
当然,为了最大程度保证账号安全,这个外部账号最好可以是手机号。
3.2 用户名和密码
填写用户名和密码是用户注册一个传统的方式。但是这个方式目前也存在很多问题,比如被撞库。现在有些产品已经在尝试去掉这个环节。一方面是为了简化注册流程,增加注册转化。另一方面,移动时代,APP基本可以一次登录一直用,登录情况比较少,完全可以用手机号验证码登录,或者三方登录进行。
3.3 注册验证码
注册验证码是为了防止机器大量刷注册量,尤其是部分注册不需要填写手机号的产品。可以使用图形验证码,也可以使用比较简单的用户行为验证码(需要了解验证码,可以查看上期内容)。
4. 用户登录需要校验哪些信息?
这个也是和用户使用的登录方式有关,根据用户登录的方式,一般分类为一下几种:
账号密码登录:用户输入账号密码登录第三方账号登录:第三方账号授权校验手机验证码登录:用户属于关联手机号和手机验证码进行登录
账号密码登录有极大的撞库风险。一般而言,用户只用一个手机号,使用这个手机号在各种产品上进行注册。而有大量的用户使用相同或者相似的密码,一旦有产品安全漏洞,密码泄露,其他平台则可以被撞库登录。第三方账号也存在相同的风险,一旦第三方账号密码被他人获取,则可以轻易登录网站。
所以,如果是账号密码登录,第三方账号登录,存在异常登录情况,则需要进行安全信息的验证。
5. 异常登录判定和安全信息验证
异常登录的判定也是一个相对比较复杂的过程,基本上对于大的公司,比如阿里,是一个大的团队在做。简单来说,收集用户登录的各种行为进行校验。包括但不限于:
登录地点:如果一直在北京使用产品的用户,两个小时后出现在广东,则系统可能会判定为异常。登录设备:对于移动登录,如果更换了移动设备,则系统可能判定为异常。登录网络环境:IP变更,4G和wifi的变化,系统都需要判定是否为异常。校验既可以是简单粗暴的给策略,也可以是用大量的数据样本进行机器学习,进行判定。
安全信息验证部分,如果用户绑定了手机号(手机号相关内容可以查看上篇),则可以直接要求用户进行手机验证。如果用户没有绑定手机或者用户暂时不方便使用手机,则可以使用图形验证码或者用户行为验证码验证。或者也可以使用产品的信息进行验证,包括但不限于:
历史购买物品历史状态定位地点通讯录内容验证发送给通讯录好友进行验证
当然,如果用户都不能通过自动流程,也可以进行人验证,提供一些无法格式化提供的信息进行验证。
6. 小结
登录注册流程是很多初级产品经理书籍里面经常提到的Case,比如交互的书就会说按钮怎么调整,注册率上升了多少个点之类。然而,这些流程其实只是一小部分。基本上,在之前产品设计不犯错的情况下,也不会有一个按钮调整上升多少个点之类的传奇。
此篇文章没有讨论登录注册交互层的东西,更多的是对于登录注册逻辑的总结讨论。牵扯到很多异常的Case。产品经理的初级阶段可能只能看到几个简单页面的调整,其实合格的产品经理更应该是看到页面的逻辑,以及因为逻辑而派生出来的更多页面。登录注册流程正是这样看似简单,实则牵扯很多复杂逻辑和异常Case的流程。
如果非要有什么拔高性的结尾,那么我想说的是:不要以为只沉迷在书上那些摆放按钮的故事中,就可以做好一个产品。
#关于作者#
潘一鸣,THU/PM,知乎专栏:产品逻辑之美
爱盈利(aiyingli.com)移动互联网最具影响力的盈利指导网站。定位于服务移动互联网创业者,移动盈利指导。我们的目标是让盈利目标清晰可见!降低门槛,让缺乏经验、资金有限的个人和团队获得经验和机会,提高热情,激发产品。