小编ami*_*dar的帖子

如何验证 webhook 的请求是否来自 Telegram?

我有一个 Telegram 机器人,它设置为与 Telegram webhook 机制配合使用,但如何信任请求并知道它们是否来自 Telegram?

根据 Telegram 文档,我发现有两种方法:

  • 将它们限制为 telegam ip(这很脏,如果出于某种原因 telegam 更改其 ip,我的机器人将关闭,因此这不是一个选项)
  • 为 webhook 设置一个私有长 url,这样只有我的服务器和 telegram 知道该 url(我认为这不是一个足够好的解决方案来保护我的 webhook,如果由于某种原因我的 url 泄漏,则 url 是公开的,每个人都可以假装他们是 telegram,并且发送虚假请求)

这两个是我发现的,有什么我想念的吗?为什么 Telegram 不为其 Webhook 提供像 OAuth2 这样的 rsa 公钥或像 Github 这样的可信令牌或签名?私人网址足以保证安全吗?

telegram telegram-bot telegram-webhook telegram-api

4
推荐指数
1
解决办法
4539
查看次数