2

我开发了一个与 Github 和 Github Hooks 一起使用的应用程序,当收到新的钩子请求时,我只是update/clone存储库(然后我在存储库上做了一个小过程)

因为我盲目接受所有的钩子请求,所以每个人都可以生成一个钩子请求并发送给我。

我想知道如何保护我的应用程序免受不需要的钩子请求?

4

1 回答 1

1

Github 的有效载荷中不包含任何秘密信息(基于https://help.github.com/articles/post-receive-hooks)。

所以你最好的防御是通过在你的 web hook 的 url 中使用随机字符串来使你的 webhook 的 url 难以猜测。

您也可以考虑,尽管这可能会随着时间的推移而中断,但检查request.connection.remoteAddress是否在已知属于 Github 主机的地址范围内(目前是 Rackspace?)。这个答案包括知道 ip 地址:How to verify a post-receive hook request 实际上来自 github?

于 2013-03-02T07:39:39.113 回答