【发布时间】:2016-05-23 20:27:15
【问题描述】:
不确定我是否正确,但假设我有一个 REST API 和端点,例如,创建一些资源,假设@POST 创建用户。
如何保护我的应用免遭用户使用 for-loop 进行 10000 次 API 调用以创建无用资源?
是否可以编写一个过滤器来阻止这种行为?我希望你明白我的意思。
【问题讨论】:
-
@KevinB 这是一个编程问题,如果您在应用级别(甚至服务器级别)考虑基于分数/定价系统
-
看起来你想要leaky bucket filter 或类似的东西。我们使用缓存到后备驱逐地图中的授权凭据实现了类似的功能。如果在给定时间内收到来自同一个客户端的 n 次以上的请求,我们会对连续请求做出错误响应,直到缓存至少有空间容纳下一个请求。虽然为了简单起见,你也可以使用一个固定的计时器,每隔 n 分钟自动清除一次缓存
标签: rest api jax-rs fraud-prevention