2013-03-02 58 views
3

我开发了与Github上和Github上鱼钩运行的应用程序,当一个新的挂钩请求收到,我只是update/clone库(然后我做仓库小流程)如何防止不需要的挂钩请求?

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

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

+0

这是一个开源的应用程序吗? – Chronial 2013-03-02 12:01:51

+0

@Chronial是的,这是一个开源的。 – 2013-03-03 06:10:21

+1

我不认为这是重复的,因为它不能确定,钩子请求如何归类为“不需要的”...... @AfshinMehrabani:请详细说明这一点。 – guerda 2013-03-12 10:16:14

回答

1

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

所以你最好的防御方法是通过在你的web钩子的url中使用一个随机字符串来使你的webhook的url很难猜测。

您也可以考虑,虽然这可能会随着时间的推移而中断,但检查request.connection.remoteAddress是否属于Github主机(Rackspace此刻?)的地址范围内。这个答案包括知道的IP地址:How to verify a post-receive hook request actually came from github?