如何在不使用 CAPTCHA 的情况下保护我的应用程序的寄存器 API 免受垃圾邮件发送者的侵害?
How can I protect my application's register API from spammers without using CAPTCHA?
我的应用有一个注册服务,用户可以自己注册。然而,不怀好意的人可以编写脚本在几秒钟内注册数千个帐户。
我的后端开发人员建议我们在移动应用程序中使用验证码。但是我没有看到任何使用验证码的应用程序,它们的用户体验很差。
我的问题是如何防止此类攻击并保护我们应用程序中的服务?
1:您需要设置 IP 检查和每秒 API call-ratio/ 对您端点的呼叫以限制来自同一 IP 的呼叫。
2:更简单的方法,在数据库中记录进行调用的 IP 并对其进行检查,(由于调用通过您的 Web 服务器层,会给您的数据库带来沉重的负载)如果调用通过,您无论如何,可能没有保护您免受 DDOS 攻击的安全服务器。
您可以通过网络添加多层安全保护。为此,您应该与后端开发人员讨论如何添加证书固定。
This 很好地解释了如何做到这一点。
您还可以加密通过网络传递的任何敏感信息。
可以添加其他方法,如基本、摘要式身份验证等,以进一步增强安全性。
这个问题对于 Whosebug 来说不是很理想,但我记得我曾经 运行 遇到过同样的问题,因此我只是分享我的实现。
是的,验证码对于移动应用程序来说是一种糟糕的用户体验。应该避免这种情况。是的,我当然也避免了验证码的实现。
可以通过多种方式防止 Dos 攻击,并且已经有一些非常成熟的技术可以防止这种攻击。您可以跟踪来自服务器端容器中特定 IP 地址的命中,如果需要,可以暂时阻止该 IP 地址。如果遇到分布式攻击,您可以考虑忽略超出您能力范围的请求。
这些是一些琐碎的建议。您也可以考虑在服务器端安装防火墙,这可能会提供这些内置支持。 CloudFlare 是广泛使用的防火墙之一。
防御dos攻击的选项太多了。只需在您的服务器端选择其中之一。对于您的 Web 应用程序,您可能会考虑保留 google re-captcha,但对于移动应用程序,显示验证码的想法很糟糕。
也许使用一些API方法来检查垃圾邮件注册对您更有用。
例如,此 API 用于检查垃圾邮件注册 https://cleantalk.org/help/api-check-newuser
在我目前的工作中,我们正在开发一个名为 HumanDetect 的被动移动验证码 SDK。它对您的最终用户是透明的。它抓取传感器数据来决定 phone 是否由人持有。
我的应用有一个注册服务,用户可以自己注册。然而,不怀好意的人可以编写脚本在几秒钟内注册数千个帐户。
我的后端开发人员建议我们在移动应用程序中使用验证码。但是我没有看到任何使用验证码的应用程序,它们的用户体验很差。
我的问题是如何防止此类攻击并保护我们应用程序中的服务?
1:您需要设置 IP 检查和每秒 API call-ratio/ 对您端点的呼叫以限制来自同一 IP 的呼叫。
2:更简单的方法,在数据库中记录进行调用的 IP 并对其进行检查,(由于调用通过您的 Web 服务器层,会给您的数据库带来沉重的负载)如果调用通过,您无论如何,可能没有保护您免受 DDOS 攻击的安全服务器。
您可以通过网络添加多层安全保护。为此,您应该与后端开发人员讨论如何添加证书固定。
This 很好地解释了如何做到这一点。 您还可以加密通过网络传递的任何敏感信息。
可以添加其他方法,如基本、摘要式身份验证等,以进一步增强安全性。
这个问题对于 Whosebug 来说不是很理想,但我记得我曾经 运行 遇到过同样的问题,因此我只是分享我的实现。
是的,验证码对于移动应用程序来说是一种糟糕的用户体验。应该避免这种情况。是的,我当然也避免了验证码的实现。
可以通过多种方式防止 Dos 攻击,并且已经有一些非常成熟的技术可以防止这种攻击。您可以跟踪来自服务器端容器中特定 IP 地址的命中,如果需要,可以暂时阻止该 IP 地址。如果遇到分布式攻击,您可以考虑忽略超出您能力范围的请求。
这些是一些琐碎的建议。您也可以考虑在服务器端安装防火墙,这可能会提供这些内置支持。 CloudFlare 是广泛使用的防火墙之一。
防御dos攻击的选项太多了。只需在您的服务器端选择其中之一。对于您的 Web 应用程序,您可能会考虑保留 google re-captcha,但对于移动应用程序,显示验证码的想法很糟糕。
也许使用一些API方法来检查垃圾邮件注册对您更有用。
例如,此 API 用于检查垃圾邮件注册 https://cleantalk.org/help/api-check-newuser
在我目前的工作中,我们正在开发一个名为 HumanDetect 的被动移动验证码 SDK。它对您的最终用户是透明的。它抓取传感器数据来决定 phone 是否由人持有。