限速注册API

时间:2017-02-17 19:46:21

标签: javascript node.js web-services rest sails.js

我们是小型启动,我们在后端使用SailsJS(位于NodeJS之上)。我们是一个API驱动的架构。我想对大多数API实施速率限制。我想从Signup的一个小用例开始。注册是一个公共API,目前任何人都可以访问它来创建帐户。

  1. 我的问题是如何通过对此公共API进行速率限制来阻止DoS攻击?
  2. 让我说我根据IP地址限制此API。那么问题是如果一些用户在同一个组织中。他们可以拥有相同的IP地址。那么,我们如何确保它们的速率受到限制呢?
  3. 我非常感谢您的建议和意见。

1 个答案:

答案 0 :(得分:4)

如果注册不一定是纯粹的编程API,并且可以要求通过网页,那么您可以使用验证码或其他“证明您是人类”的机制来进行注册操作。这将阻止注册API上的程序化DoS,因为每个请求都需要人工干预。

其他API请求虽然需要速率限制,但可以防止滥用已创建的帐户。那些后续API调用可能会引用特定帐户,因此您可以通过限制帐户而不是IP地址来处理共享公司IP地址。