账号体系设计:如何解决手机号二次使用导致的账号问题

从零开始学运营,10年经验运营总监亲授,2天线下集训+1年在线学习,做个有竞争力的运营人。了解详情

手机号已经成为了目前绝对的主流注册方式,大多数产品的帐号体系也是依赖手机号来建立的,但如果用户手机号不使用之后,再被运营商放号,新的用户拿到了这个手机号,那么该不该给这个用户注册呢?产品的安全机制如何保证?今天来临摹下大厂的做法,看新浪微博是如何解决app中手机号因运营商回收并再次售出导致的帐号问题。

首先,传统PC端使用邮箱注册的方式已经逐渐被手机号注册取代,原因有以下三点:

  1. 手机号注册的方式更加安全,快捷;
  2. 通知更加及时,短信无网络也能触达;
  3. 拿到了手机号就能对用户进行短信营销,达到召回用户、宣传活动等目的。

所以,手机号逐渐成为了产品的帐号体系中主流的注册方式。

但是,和PC时代通过邮箱注册不同,手机号存在着被运营商回收再次放出市场的问题。

将手机号作为帐号体系,就会产生当用户更换手机号后,旧有的帐号需要安全认证时无法拿到短信验证码(因为手机号已经被运营商卖给了别人),再次拿到该手机号的用户无法注册等一系列问题。

接下来进入主题,各位乘客坐稳了,开始发车…

我们通过了解背景,分析产品存在的问题,临摹新浪微博的解决方案,来看大厂是如何解决此类问题的。

一、背景

1、停用和购买手机号的场景

用户产生手机号停用和购买新手机号的行为大多数发生在更改手机号时,以下场景都可能导致更换手机号码,例如高考考到别的城市、毕业了到其他城市发展、更换工作地点、出国、搬家等等

更改手机号最大的原因是为了省钱,毕竟在国内,异地拨打电话是需要收漫游费的,贵不说,连流量也区分省内和省外,长期居住不换号码是非常土豪的做法。

  • 移动漫游费指的是离开归属地以后拨打和接听电话产生的费用;
  • 长途费指的是在归属地拨打除归属地以外的电话所产生的长途费用。

此外,除了用户更换手机号会产生停用和购买手机号的行为外,欠费停机等也会导致手机号被停用,青年购买手机后也会产生购买手机号的行为,这里不再展开。

2、二次放号的场景

一方面,用户有购买手机号的需求,但另一方面,手机号码是11位的号码,总量有限,不可能永久占用,于是运营商除了会将全新未使用的手机号销售给用户外,还会将以往已使用过的手机号回收之后过一段时间后重新投入市场中(以下简称二次放号)。

例如手机号A如果因为欠费或者用户主动要求销号,在被销号后就会被运营商回收,过一段时间后手机号A就会重新投入市场中。

三大运营商的销号时间不同,大体上可以分为销号和回收两个阶段。

  • 销号阶段,一般为3个月
  • 回收阶段,一般为1-3个月

所以,一个号码从销号到重新投入市场,一般最快需要4个月的时间。

二、存在的问题

现实中存在二次放号的问题,如果产品的体量不大,注册的用户数不多,这个问题还可以通过客服来解决,但是当产品注册用户数攀升到千万级或亿级的时候,每个用户都通过客服来解决,不仅顾客等待的要炸毛,客服也会炸毛。

先分析下二次放号对产品造成的影响,以下以a,b表示帐号ID,以A、B表示帐号对应的手机号,小明和小红表示用户。

1、注册

场景1:小红通过运营商购买了二次放号的手机号A,来到产品的注册页面,发现手机号已经注册了?自己没法注册自己的帐号??

于是可能产生两个问题:

  1. 若产品没有做好注册引导,小红将无法注册帐号
  2. 若产品没有安全措施,不明真相的小红通过忘记密码的渠道重设了小明帐号a的密码,登录进去之后,OMG!

为什么上面那么多个人信息,而且都不是自己的,小红毫不费劲的看到了小明的所有个人信息!不知道密码被改的小明,也没法登录产品了。

小红异常纳闷,同时觉得产品太不安全了。

2、登录

场景1:小明换了手机号B同时买了部新的iPhone8 Plus手机,但产品中的安全措施发现是新的登录设备后,要求小明通过手机号A进行短信验证才能登录,由于手机号A已经在小红手中,小明根本没法拿到短信验证码,登录失败

场景2:小红通过手机号A更改了小明的帐号a的密码,这时吃瓜群众小明使用原有的设备正常打开app,Token失效来到登录页面,输入手机号A和旧有的密码,发现提示“手机号码或密码错误”,小明登录失败,纳闷“帐号被盗了?”

场景3:小红通过注册流程使用手机号A注册了新的帐号b,系统自然解绑帐号a和手机号A的绑定关系,将手机号A绑定到帐号b上。

小明来到登录页面,输入原有的帐号和密码,依旧会提示“手机号码或密码错误”,登录失败因为此时手机A绑定的是帐号b,密码是帐号b的密码),可怜的小明可能觉得“我去,谁盗了我的帐号?这产品太不安全了”

于是产生的问题是:

  1. 若产品中有登录保护等安全机制,小明无法在新设备登录自己的帐号
  2. 若小红能修改密码,小明帐号密码被改,无法登录,小红能看到小明的所有内容
  3. 若产品允许小红注册一个新的帐号,小明帐号a与手机号A解绑,小明无法登录帐号

3、找回密码

场景1:还是倒霉的小明,更换手机号后,神经特别大条,连密码都忘记了,来到找回密码的页面,但要求通过手机号A+短信验证码的方式来重置密码。

小明懵B了,坑爹呢,手机号都换了,短信验证码自己怎么可能拿的到,重置密码失败

场景2:拿到手机号的小红通过重置密码能轻松的更改小明帐号a的密码。

产生的问题是:

  1. 若产品中的找回密码没有考虑接收不到短信验证码的场景,小明无法重置密码,无法登录产品
  2. 若产品中的找回密码没有相应的安全机制,小红可以轻易的更改小明的密码

三、解决方案

下面开始临摹产品,以新浪微博为主,中间穿插一些其他app的做法,看大厂的产品是如何解决二次放号的问题的。

依旧以a,b和密码Aa,密码Bb分别表示帐号ID和帐号对应的密码,以A、B表示手机号,小明和小红表示用户。

1、注册流程

用户进入到注册流程但手机号已注册,有两种可能:

  1. 自己之前注册过了,但是忘了注册过;
  2. 买了个新手机号,手机号是二次放号的。
  • 第一种情况,