猿问

短信账号验证如何防止DDoS攻击

我有一个应用程序,用户在其中注册并输入他们的手机和其他数据。为了验证用户是否有效,在将其保存到数据库之前,我会向用户发送一条带有代码的短信。之后,他们应该在表格中输入代码。

问题是如果我尝试发送短信,即使电话号码无效,我的短信提供商也会向我收费。

如何防止对我的应用程序进行 DDoS 攻击,该攻击每次都会发送尝试发送短信(即使号码无效)?


慕尼黑5688855
浏览 134回答 2
2回答

莫回无

您应该尝试几件事。首先,您应该尝试通过启用验证码来降低 DDOS 攻击的可能性。虽然它会使 DDOS 攻击变得困难,但它不会让它变得不可能。为了防止实际的 DDOS 攻击,您不需要立即执行 SMS 请求,而是将它们放入队列中。通过具有明确定义的速率限制的单独进程并在您的网站上显示“消息可能需要长达 15 分钟才能到达”,您将使资源耗尽更加难以创建。最后但并非最不重要的一点是,在发送消息之前进行电话号码验证,并跟踪在过去 30 分钟内向某个号码发送了多少请求。将唯一编号的请求数限制为每 30 分钟 2 个请求。

函数式编程

添加到Dimi的答案,(尚无法评论)使用 GooglePhoneNumberLib 验证号码的格式是否正确。因此,您不会因无效号码而被收费。
随时随地看视频慕课网APP
我要回答