首页 > 解决方案 > 仅使用电话号码登录的安全性,以及 SMS 代码

问题描述

我正在构建一个跨平台应用程序并使用 PHP 和 MySQLi。用户使用他们的 Facebook 帐户或电话号码进行注册。如果他们选择电话号码,他们输入他们的号码并发送包含验证码的短信。用户输入代码,然后一个 API 令牌被发回以在 API 请求中使用。Tinder(例如)就是这样。

我正在考虑使用 Twilio 进行验证。

我的问题归结为这个登录过程的安全性。恶意用户能否快速触发登录请求,一遍又一遍地创建验证码……发送大量短信并在我的 Twilio 帐户上花费我一大笔钱?我应该只允许这么多尝试吗?机器人最终能猜出代码吗?

Tinder API 背后的安全性是什么?

标签: phpsecuritytwiliotwo-factor-authentication

解决方案


要考虑的事情:

1- 每个电话号码的限制请求

2-限制每个用户的请求(按 ip)

3-使用验证码(仅在第二次尝试保持您的应用用户友好之后)

4-使用蜜罐

“机器人能猜出密码吗?” 验证码应该有时间限制。大约 2 分钟后,它们应该是无效的。时间限制和请求限制应该使机器人猜测代码的可能性很小。

如果您使用的是 laravel,它已经有速率限制中间件(通过 ip 限制)。


推荐阅读