我开发了一个与Github和Github Hooks一起工作的应用程序,当收到新的钩子请求时,我只是update
/ clone
存储库(然后我在存储库上做了一点处理)
因为我盲目地接受所有钩子请求,所以每个人都可以生成一个钩子请求并发送给我。
我想知道如何保护我的应用程序免受不必要的挂钩请求?
答案 0 :(得分:1)
Github不包含任何有效负载的秘密信息(基于https://help.github.com/articles/post-receive-hooks)。
因此,最好的防御方法是在网络摘要的网址中使用随机字符串,以便难以猜测网络网址的网址。
你也可以考虑,虽然这可能会随着时间的推移而破裂,但是检查request.connection.remoteAddress
是否在知道属于Github主机的地址范围内(此时是Rackspace?)。这个答案包括知道IP地址:How to verify a post-receive hook request actually came from github?