使用 API 和 PHP 进行短信验证的最佳方法是什么?

问题描述 投票:0回答:2

我正在建立一个网站,用户输入他们的电话号码,然后OTP(一次性密码)会发送到他们的手机。我正在使用一项 API 服务,该服务向客户的手机发送消息,但它不会创建一次性密码,并且没有验证系统。因此,我将这样做并创建一个 6 位数的密码并将其放在消息中。但我的问题是如何验证客户输入的密码是否正确?

执行此操作的一种方法是: 将该密码保存在数据库中并检查客户输入的密码是否匹配。但在这种情况下,我不知道将该密码存储在数据库中的何处。我应该创建一个用于密码验证的表吗?如果是这样,我还需要创建一个gsm号码列来检查密码,这意味着我需要将客户的gsm号码保存在某处,但我认为没有必要。应该有一种无需客户手机号码即可验证密码的方法。 (据我所知)

另一种方法是将 OTP 存储在 cookie 中,在客户输入密码后,我可以使用 cookie 中的密码进行检查,但我认为这不是一种安全的方法,因为有一种方法可以在用户界面中访问 cookie 的值。

我想我可以使用触发器和/或存储过程来解决这个问题,但我仍然不知道。

php sql-server database api
2个回答
1
投票

您可以创建一个验证表,表中存储了待验证的号码、验证码、验证状态和有效期。 当用户单击验证时,您将他/她的代码与数据库中的代码进行匹配,如果正确且在相应的到期时间范围内,则更新验证状态


0
投票

当我需要在我的网站上集成 OTP 验证时,我遇到了类似的问题。经过一番研究,我发现一些 API 服务可以通过短信直接向客户的手机号码发送 OTP,其中一些服务不仅可以通过短信发送 OTP,还可以轻松验证。这些服务使身份验证过程顺利高效。您可以在方便时找到并探索更多服务,我发现的其中一项服务是 MessageCentral。

© www.soinside.com 2019 - 2024. All rights reserved.