我们是小型启动,我们在后端使用Sailsj(位于nodejs的顶部)。我们的是API驱动的架构。我想为大多数API实施限制速率。我想从一个小用例开始进行注册。注册是公共API,目前任何人都可以访问它来创建帐户。
- 我的问题是如何通过限制此公共API来防止DOS攻击?
- 可以说,我根据IP地址限制了此API。那么问题是,如果某些用户在同一组织中。他们可以具有相同的IP地址。那么,我们如何确保它们的速率适当限制?
我非常感谢您的建议和意见。
如果注册不必纯粹是一个程序化的API,并且可以通过网页进行使用,那么您可以使用验证码或其他某些"证明您是人类"专门用于注册操作的机制。这将防止注册API上的程序化DOS,因为每个请求都需要人为干预。
其他API请求将需要限制器,以防止滥用已经创建的帐户。这些随后的API调用可能会引用特定帐户,因此您可以通过限制帐户而不是IP地址来处理共享的公司IP地址。