9.3 用户注册流程

第一个问题,看到“用户注册”大脑一片空白怎么办?打开你的手机,退出你的qq、微信,点击“注册” :)
当然,现在微信注册诸多限制,比较繁琐,并不是一个典型的注册流程,在这里我主要想讲比较常规的注册方式。

我把注册方式分为用户名注册手机号注册邮箱注册第三方注册其他注册方式。它们并不是互斥关系,一个平台一般会提供这其中的一种或多种方式,并且在流程上会略有不同。

用户名注册

可以说是最简单的一种注册方式,用户在表单上填写1.自定义的用户名,2.输入两次密码,3.输入验证码,提交,即可注册。

现在国内很少有网站通过这种方式注册了,一般只有小网站会通过这种方式来降低用户的注册成本和提高用户信任度。
通过用户名注册,只需要确保自定义的用户名唯一即可。

手机号注册

比较常见的注册方式,流程如下:
1.输入手机号、验证码
2.点击获取手机验证码
3.手机收到验证码,填写短信验证码
4.提交,注册成功

手机号注册的变式有,手机验证码可能是短信,也可能是接听电话。
另外,如果是跨国服务性质的网站,手机号的处理会分不同的国际区号,比如中国就是+86。而针对不同的国家和地区,会有不同的短信服务商。

邮箱注册

比较常见的注册方式,流程如下:
1.输入邮箱、密码、验证码,提交注册
2.前往邮箱,打开邮件,点击链接,激活用户

邮箱注册流程有区别的点是,一些网站是直接点击邮件里面的链接,跳转过去就自动激活成功,实际上是url上带有用户相关参数,调用了用户激活的接口,接口返回成功后跳转激活成功页面。
一些网站则是发送邮箱验证码,用户需要在提交注册后跳转的激活页面上输入这个邮箱验证码。而如果用户不小心关闭了激活页面,则再次登录网站后会被通过一些方式提示,再次前往激活页面,完成激活操作。

第三方注册

也是现在很流行的一种注册方式,因为它十分简单。
回忆一下我们用电脑/手机打开腾讯视频的时候,我们只需要点选当前登录的qq即可立即登录,什么都不需要填,是不是很方便?
就算我们打开的不是鹅系的产品,他们有些也会提供“qq登录”,“微信登录”这样的功能,这是怎么做到的呢?
像qq,微信,facebook,Twitter,insgrame这样的大型社交平台,都会提供开发接口给其他企业的开发者使用,比如:QQ API列表
第三方注册的流程是:
1.网站请求用户授权qq/微信登录
2.用户允许网站访问他的qq/微信个人信息
这里会弹出一个qq/微信的授权页面,详细说明用户将允许网站获得什么内容,一般注册流程会获取用户id、用户名、用户头像这样的基础信息。
但是部分恶意网站可能会盗取用户的私密信息,进而进行贩卖,所以一定要看清授权页面的授权项。
3.网站获得qq/微信中该用户的信息,将这些信息录入网站的数据库,完成注册流程
关于这部分内容,文章OAuth 2.0 的一个简单解释 解释的很清楚。
当然部分网站在完成第三方登录后,依然会要求填写手机号、邮箱,或者重新设置用户名等。

其他注册方式

多用于一些需要特殊验证的注册,比如:
1.O2O的网站,需要注册用户提供公司的相关资料
2.兼职类的网站,需要用户详细描述自己的技能点,上传相关作品
在“成为有效用户”需要填写的内容较多的情况下,一般注册流程会较为复杂。
一般产品有两个选择:
(1)把正常的注册流程和这些内容的提交分成两个流程,注册流程、资格认证流程
这样做的目的是,用户可以轻松“注册”。用户体验较好。
缺点是,完成注册流程,而没有完成资格认证流程的用户,一般大部分权限不会开启,所以一定要做好权限管理。
(2)把正常的注册流程和网站特有的提交信息合成注册流程
用户需要一次性准备、提交大量信息,繁琐,用户体验较差。
优点是用户只分为“已注册用户”和“游客”,不存在“已注册但资格认证未通过的用户”,在平台的权限控制方面可以简化很多。

延展

1.验证码的攻防之战
验证码这个东西很有意思,先说说它的作用吧,“干掉机器人,保证是人类”。
我们想想,“用户名注册”这样的方式如果不要求填写验证码,是不是可以直接调接口提交表单来注册用户了?那对于平台方来说,是多个多少无效的用户啊!它们背后都不是真实的人啊!
所以平台有需求,使用验证码,阻止机器人。而有守方,自然有攻方,一部分人有这个需求,要去批量注册,最典型的就是微博上的水军,所以他们两方就像黑帽子和白帽子一样,争斗不休。下面我讲几个常见的验证码形式。
(1)图片验证码
图片验证码分为1.简单输入的验证码(英文、数字、汉字),2.需要计算的验证码(出一些计算题)。


这一类验证码,守方往往通过1.增大单个字符的范围,比如从数字改为数字+字母,2.扭曲字符显示,3.添加噪点,可以理解为添加背景色。
而攻方一般的解决方案包括1.比较笨的办法,切片穷举,把单个字符+它的几种形式切分出来,存入“验证码库”,每次识别则是切分成单个字符,再匹配“验证码库”,仅针对简单的图形验证码有用,2.使用机器学习(了解不深),3.使用打码平台。
(2)滑动滑块

这种守方一般会通过生成多个“相似”的缺口,来加大攻方的开发难度,比如上图中右下角的假缺口。
攻方一般则是通过图片识别找到真正的缺口,计算位置,模拟滑动。
(3)点击验证

原理可以看这个问题腾讯的点击验证码是什么原理?
但实际上攻方依然有办法可以模拟 :)
(4)点选图片内指定一个/多个物品,比如12306。


遥想当年12306刚刚上这个功能的时候,无数正常网友都哀嚎买不到票,就知道这个验证有多难了2333333。
当然从思路是来说也不是不能破解,但是不得不说,从头来撸的话耗时耗力。当然我相信攻方肯定有解法,只是我确实不了解罢了~
验证码在网站被高频访问,恶意攻击的时候,也有拦截的作用,比如爬虫。
(5)通过提高门槛来验证,比如手机号、邮箱
攻方一般会制作手机短信、邮件的“监听”功能,来绕过这种验证。
2.古早的记忆:密保问题
遥想当年注册qq的时候,比现在复杂的多,要填写3个问题加它的答案,也就是“密保问题”。
为什么当时会有这样的需求呢?因为早期的qq并没有手机号这样强有力的护身符。
现在的网络世界,我们可以说,手机号不遗失,所有用手机号注册的或者绑定手机号的平台账号都不会丢失。
但在当时那个“qq号+密码”的情况下,密码被盗,申诉找回自己的qq是一件很麻烦的事情,没有“手机号找回账号”这种快捷通道,只有“多个好友帮助申诉”这样的渠道,再一个,就是“密保问题申诉”了——甚至在这样的情况下,我记得有很多qq还是被盗后找不回来的。
其根本原因在于,平台不能良好的区分真正的用户和盗号方,谁才是真正的用户。而密保问题,是解决这种情况的一种途径,因为真正的用户是知道答案的,而盗号方不知道,这样就区分出来了。

猜你喜欢

转载自www.cnblogs.com/Lulus/p/12445633.html
9.3