短信账号验证如何防止DDoS攻击
How to prevent DDoS attack on sms account verification
我有一个应用程序,用户可以在其中注册并输入他们的手机 phone 和其他数据。
为了验证用户是否有效,在将其保存到我的数据库之前,我向用户发送了一条带有代码的短信。然后他们应该在表格中输入代码。
问题是,如果我尝试发送短信,即使 phone 号码无效,我的短信提供商也会向我收费。
如何防止对我的应用程序的 DDoS 攻击每次都会尝试发送短信(即使号码无效)?
有几件事您应该尝试。
首先,您应该尝试通过启用验证码来降低 DDOS 攻击的可能性。
虽然这会使DDOS攻击变得困难,但不会使攻击变得不可能。为了防止实际的 DDOS 攻击,您将不需要立即执行 SMS 请求,而是将它们放入队列中。通过具有明确定义的速率限制的单独进程并在您的网站上显示“消息最多可能需要 15 分钟才能到达”,您将更难以创建资源耗尽。
最后但同样重要的是,在发送消息之前进行 phone 号码验证,并跟踪在过去 30 分钟内向特定号码发送了多少请求。将唯一编号的请求数量限制为每 30 分钟 2 次请求。
加入迪米的回答,(还不能评论)
使用 GooglePhoneNumberLib 验证号码格式是否正确。
因此,您不会因无效号码而被收费。
我有一个应用程序,用户可以在其中注册并输入他们的手机 phone 和其他数据。 为了验证用户是否有效,在将其保存到我的数据库之前,我向用户发送了一条带有代码的短信。然后他们应该在表格中输入代码。
问题是,如果我尝试发送短信,即使 phone 号码无效,我的短信提供商也会向我收费。
如何防止对我的应用程序的 DDoS 攻击每次都会尝试发送短信(即使号码无效)?
有几件事您应该尝试。
首先,您应该尝试通过启用验证码来降低 DDOS 攻击的可能性。
虽然这会使DDOS攻击变得困难,但不会使攻击变得不可能。为了防止实际的 DDOS 攻击,您将不需要立即执行 SMS 请求,而是将它们放入队列中。通过具有明确定义的速率限制的单独进程并在您的网站上显示“消息最多可能需要 15 分钟才能到达”,您将更难以创建资源耗尽。
最后但同样重要的是,在发送消息之前进行 phone 号码验证,并跟踪在过去 30 分钟内向特定号码发送了多少请求。将唯一编号的请求数量限制为每 30 分钟 2 次请求。
加入迪米的回答,(还不能评论)
使用 GooglePhoneNumberLib 验证号码格式是否正确。 因此,您不会因无效号码而被收费。