我们是一家小型初创公司,我们在后端使用 SailsJS(位于 NodeJS 之上)。我们的是一个 API 驱动的架构。我想对大多数 API 实现速率限制。我想从注册的一个小用例开始。 Signup 是一个公共(public) API,目前任何人都可以访问它来创建帐户。
- 我的问题是如何通过限制此公共(public) API 的速率来防止 DoS 攻击?
- 假设我根据 IP 地址限制此 API 的速率。那么问题就出在某些用户是否在同一个组织中。他们可以有相同的 IP 地址。那么,我们如何确保它们受到适当的速率限制?
非常感谢您的建议和意见。
最佳答案
如果注册不必是纯粹的编程 API 并且可能需要通过网页,那么您可以使用验证码或其他一些“证明您是人类”的机制来专门进行注册操作。这将防止注册 API 上的程序化 DoS,因为每个请求都需要人工干预。
其他 API 请求需要速率限制器,以防止滥用已创建的帐户。这些后续 API 调用可能会引用特定帐户,因此您可以通过限制帐户速率来处理共享的公司 IP 地址,而不是 IP 地址。
关于javascript - 速率限制注册 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42306216/