javascript - 速率限制注册 API

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

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

  1. 我的问题是如何通过限制此公共(public) API 的速率来防止 DoS 攻击?
  2. 假设我根据 IP 地址限制此 API 的速率。那么问题就出在某些用户是否在同一个组织中。他们可以有相同的 IP 地址。那么,我们如何确保它们受到适当的速率限制?

非常感谢您的建议和意见。

最佳答案

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

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

关于javascript - 速率限制注册 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42306216/

相关文章:

javascript - 如何使 2 个不同高度的 DIV 在滚动时同时到达页面底部?

javascript - JavaScript 是单线程的吗?如果没有,我如何获得对共享数据的同步访问?

javascript - Node js 代码中必须有多少 connection.release() ?

node.js - 在 REST API 中合并 2 个查询的输出

javascript - 通过nodejs处理xhr

C# 如何在 web 服务中返回我的基类

javascript - 如何在 ace 编辑器中禁用自动缩进和代码完成

javascript - Gulp 水管工无法通过管道连接到未定义的管道

asp.net - 我是一个有抱负的开发人员,想要构建像 PayPal 这样的大型系统。我应该走哪条路?

web-services - 使用 HTTP 状态代码时区分基础结构和业务逻辑