如何防止(Web)API 端点过载/过度使用?

问题描述 投票:0回答:2

假设我有一个 Web 服务器,并使用 API 端点(例如

.../post
)运行,它允许用户创建某些内容(并保存到数据库中)。有人可以使用循环向该端点发送大量请求,数据库最终将有垃圾数据。

为了防止数据库溢出,保护端点不被某人(黑客)过度使用/超载的最佳实践是什么?

endpoint webapi
2个回答
2
投票

我会推荐用户或 IP 过滤。基本上,跟踪每个请求,如果有人超过一定数量,则不允许进一步的请求。

您可以通过跟踪每个用户或IP的请求数量来自己实现它,或者您可以使用一些已经构建的代码,例如Rack攻击


1
投票

一种方法是分发 API 密钥,这样每个 API 用户都有自己的密钥,可以像密码一样使用,当您发现密钥被滥用时,您可以撤销他们之前在系统中输入的数据。如果您粗略地在 google 上搜索 API 安全性,您会得到很多有用的链接(如这个)

© www.soinside.com 2019 - 2024. All rights reserved.