怎么识别手机号的主人变更了?

比如我上线了一个网站 xxxx.com

然后可以用手机号注册。但是手机号是可以注销并且会被运营商重新下发使用。

万一用户 A 注销了手机号 1234567890 ,但是忘记注销我的网站 xxxx.com 账号了。然后手机号又被运营商分配给了新的人 B,然后 B 使用 1234567890 来使用我的网站 xxxx.com 的时候,不就可以通过手机验证码登录,直接使用 A 的账号了吗?

因为现在很多网站,不区分注册和登录的概念了,只要填写手机号,收到验证码之后就可以登录使用(首次登录即等于注册)

这样对于用户 A 就可以存在隐私泄露的问题


对于上面的场景,有什么解决方案吗?

运营商有提供接口可以查询手机号的号主是否发生变更吗?

阅读 8.2k
avatarAI BotBETA

解决方案

对于上述场景,有几种常见的解决方案:

  1. 账号绑定与解绑功能

    • 提供用户明确的账号与手机号解绑功能,确保用户在注销手机号前可以解绑其在网站上的账号。
  2. 二次验证

    • 当检测到手机号已绑定其他账号且尝试通过验证码登录时,要求用户进行二次验证(如邮箱验证、安全问题等),确保是原账号所有者进行操作。
  3. 定期密码重置提醒

    • 对于长时间未登录的账号,发送密码重置提醒,要求用户重新验证身份,减少被新号主冒用的风险。
  4. 手机号使用历史记录

    • 记录手机号的使用历史,当检测到频繁更换绑定时,触发额外的安全验证流程。

运营商接口

运营商有提供接口可以查询手机号的号主是否发生变更吗?

一般情况下,运营商不会直接提供这样的接口来查询手机号的号主是否发生变更。这是因为手机号隐私保护和个人信息安全的原因。不过,有些运营商可能会提供一些企业级的身份验证服务,但这些服务通常涉及到复杂的合作流程和费用。

对于大多数网站和应用来说,实现上述提到的解决方案(如账号解绑、二次验证等)是更为实际和可行的办法。

4 个回答

有是有,叫手机号三要素校验

但运营商的接口都不对普通客户开放,你必须通过第三方集成服务商(阿里云、腾讯云这种)。

但这个东西跟你想象的可能不太一样,它更多的是为有实名认证需要、但不具备人脸识别等生物因素认证条件的场景所准备的。你提到的这个场景更像是风控该干的事儿。比如非常用设备登录,需要先通过实人认证,或者回答某些问题(例如身份证号中间若干位打星号让你填入)。如果通过不了的话会有引导提示“这不是我的账号”,然后走注销流程。

但无论如何这套方案的首要前提是:你的产品本身是具备实名认证功能的。否则你本来没有之前的号主身份信息,后续你依然无法走这个流程。而这又会产生一个新的问题 —— 如果你是一个不知名产品,你向用户索要身份信息,这本身就是一件很敏感的行为。

1、账号绑定与解绑功能:

提供用户明确的账号与手机号解绑功能,确保用户在注销手机号前可以解绑其在网站上的账号。

2、二次验证:

当检测到手机号已绑定其他账号且尝试通过验证码登录时,要求用户进行二次验证(如邮箱验证、安全问题等),确保是原账号所有者进行操作。

3、定期密码重置提醒:

对于长时间未登录的账号,发送密码重置提醒,要求用户重新验证身份,减少被新号主冒用的风险。

4、手机号使用历史记录:

记录手机号的使用历史,当检测到频繁更换绑定时,触发额外的安全验证流程。

运营商没有这个接口

解决方案是提供与手机号平级的其他验证方式,如邮箱。

一般来说,手机号注销后虽然会分配给其他人,但运营商一般会间隔一段时间,不是立即分配出去的,就是考虑到题目中的这种情况。

同时定期(半年或一年)询问用户手机号是否还在使用,如果不在使用的话可以通过其他方式,如邮箱,设置新的手机号。Google 就会定期提醒用户检查手机号码。

一般运营商手机号回收的时间通常为三个月‌,如果在这三个月内,该账号没有任何登录等活动,可以进行风险检测,像通过IP校验,账户信息校验等手段。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题