我想知道这些短信注册机制是如何工作的。我在互联网上搜索了一下,但问题是有很多想要出售在线短信服务的短信提供商,所以我找不到任何信息...
问题: 这是如何工作的:设置你的手机号码,然后发送一个带有otp的短信给你。将此密码输入应用程序中。
背后的原理是什么?他们是否有短信网关或类似的东西?它的成本是多少?
谢谢
问题: 这是如何工作的:设置你的手机号码,然后发送一个带有otp的短信给你。将此密码输入应用程序中。
背后的原理是什么?他们是否有短信网关或类似的东西?它的成本是多少?
谢谢
这是一个基于Nexmo构建的简单的电话号码验证服务(免责声明,我为Nexmo做了一些开发者宣传)。我认为它基本上就是你要找的东西,其目标是验证号码是否确实属于用户(也可以用于二次因素身份验证)。
移动应用程序的基本集成(特别是针对此示例代码,但通常流程):
您可以放弃托管部分,只需在应用程序内执行这些步骤(生成代码,通过SMS API发送,检查用户输入的代码)。然而,在那点上有几件事情需要考虑:
将验证系统放在移动应用程序之外可以解决这两个问题。
我知道这篇文章太老了,但这是给未来会访问此页面的人看的:
用户“Harsh Shah”所说的是错误的..
你不应该在设备上生成随机数!这会破坏整个验证。
数据交换:
[手机读取短信,例如'123123']
在后台: 服务器:[检查记录用户01234567的数据库,将步骤1生成的随机数与用户发送的数字进行比较]。
如果你在用户手机上生成该数字,那么任何脚本小子都可以通过从内存/存储中提取该数字(非常容易)并模拟包含该数字的短信(同样容易)来攻击你的身份验证... 你可能认为这是一个罕见的情况,但这是安全上的一个重大漏洞,如果像“Harsh Shah”所说那样做,你可以将自己验证为任何现有用户并窃取他们的数据...
首先,用户的手机号码将发送到我们的服务器,新用户行将被创建。
我们的服务器向短信网关请求向该手机号码发送带有验证码的短信。
短信网关向用户设备发送带有验证码的短信。
验证码将再次发送回我们的服务器进行验证。我们的服务器对其进行验证并激活用户。