首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建一个由SMS发送的代码来验证它是否是一个有效的电话号码?

如何创建一个由SMS发送的代码来验证它是否是一个有效的电话号码?
EN

Software Engineering用户
提问于 2021-03-19 14:38:29
回答 3查看 170关注 0票数 0

我正在创建一个移动应用程序,它将对电话号码进行验证,就像大多数应用程序使用您的手机时所做的那样。

我也在开发后端,但我不知道有什么更安全的方法来生成4-6位数字代码,并通过短信发送来验证该帐户。

我应该如何实现代码的生成?另外,如何验证它是否是该电话的有效代码?

我应该生成一个随机代码并将其存储在数据库中吗?如何确保每个电话的代码是唯一的?当我有超过999999 (6位数)的用户请求代码时,即使它肯定不会发生,是否有必要处理这种情况?

EN

回答 3

Software Engineering用户

发布于 2021-03-19 15:09:24

代码只需要是随机的,并且只需要与试图登录的一个特定会话相关联。这样,如果您知道under 123‘S MFA令牌,实际上并不重要,除非您还有特定的会话密钥user123请求MFA令牌下面。

代码应该与会话一起存储一个过期日期-时间,而不管该会话是一个“传统的”长寿命会话还是一个“登录会话”,只存在足够长的时间来产生一个auth令牌(比如JWT)。只是不要将它或它的任何派生存储在客户端上,因为这样做会使目的落空。:D

票数 1
EN

Software Engineering用户

发布于 2021-03-19 15:09:13

你可以自己实现所有这些,但你必须以某种方式发送短信。我假设您希望从后端发送代码SMS以确保安全,因此您需要一个SMS发送提供者。

一些短信发送服务已经提供了电话验证服务,包括跟踪代码和格式化您的短信以一种与不同供应商兼容的方式。包括插入应用程序哈希之类的东西。

例如,https://www.twilio.com/verify (我对此进行了测试,尚未在生产中使用)。

票数 0
EN

Software Engineering用户

发布于 2021-03-19 16:21:20

我还想提醒你,如果你把代码发送到我的铜线家庭电话,你将不会收到短信回复。(嗯,它现在是基于光学的,但它仍然不支持短信。)

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/423609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档