安全短信发送API端点

时间:2019-03-28 09:30:10

标签: php laravel web-services sms spam-prevention

说明

我有一个在Laravel 5.8上运行的API,该API使用Nexmo Verify API来通过SMS发送两件事的代码:

  • (1)创建用户帐户(在创建 帐户)
  • (2)忘记密码(在输入新密码之前先发送验证码) 密码)

iOS应用程序和Android应用程序使用此PHP API。

在第一种情况下(1),我必须在发送短信之前检查电话号码是否存在。
在第二种情况下(2),我必须在发送短信之前检查电话号码是否存在。

所以,我可能有两条API路由:

  • 检查电话号码是否已经存在,以便移动应用程序可以显示下一页或显示错误。
  • 另一个简单地将短信代码发送到电话号码。

问题

问题在于,我们可以拥有一条类似于/api/phone/sendcode的路由,并且只要找到端点是什么,任何人都可以直接调用此路由而无需使用移动应用程序(毕竟这只是一个API)。使用此方法发送垃圾邮件很容易。
或者,他们也可以拨打一条api/phone/exists吨的路线来尝试吸引所有现有用户。

问题

如何保护端点,以避免人们直接将其用于垃圾邮件或检查是否存在帐户?
我已经有一个限制系统,可以阻止特定的IP地址在一分钟内请求一个X倍以上的终结点,但是我认为这还不够,可以绕开(使用代理或其他方法)。

此外,我宁愿避免使用验证码。

0 个答案:

没有答案