我正在构建一个 Ruby on Rails API,该 API 发布到 API 用户可以创建的 webhook,每当他管理的资源被创建、更新或销毁时,使用HTTParty gem。这让我想到:我正在验证 webhook url 确实是一个有效的 url,但仅此而已。
例如,如果 API 发布到永远重定向的 webhook 怎么办?或者,可能更糟糕的是,一个 webhook 又再次与 API 通信,触发更多 webhook,因此最终 API 必须处理无限数量的 webhook?
这只是两个例子,但我想可能会发生更多。
我想出的一件事是将所有帖子放在后台任务中的 webhook 中,以便至少将工作负载分配给工作人员,以防有人尝试 DOS 攻击(但话又说回来,我不确定这是否能正确保护我免受 DOS 攻击)。
使用 webhook 时是否还有其他常见的威胁/陷阱?我可以做些什么来防御有害的 webhook 以及如何检测它们?