【问题标题】:Is Sender ID Private?发件人 ID 是私有的吗?
【发布时间】:2021-08-30 14:17:55
【问题描述】:

我有一个使用 GCM 推送通知的开源公共应用程序。要注册推送,将发送者 ID 放入源代码中。这个发件人ID可以公开吗?发件人 ID 是否应该保密?如果我的发件人 ID 暴露,任何人都可以对它做什么坏事?

【问题讨论】:

标签: android google-cloud-messaging


【解决方案1】:

暴露sender id没问题,没有serverkey就没有意义。

【讨论】:

    【解决方案2】:

    发件人 ID 不与唯一的应用程序包名称绑定。事实上,多个应用程序可以使用相同的发件人 ID 注册到 GCM,这将允许使用相同的 API 密钥向所有这些应用程序发送 GCM 消息。当然,每个应用都会有不同的注册 ID(即使在同一设备上)。

    如果有人知道您的发件人 ID,他们可以使用该发件人 ID 注册到 GCM,但在不知道 API 密钥的情况下,他们将无法将 GCM 消息发送到虚假应用或真实应用。当他们注册到 GCM 时,GCM 会收到他们假应用的包 ID。因此,如果您向真实应用的注册 ID 发送消息,它不会到达假应用。

    保留Protected 并尝试保留 API 密钥以及您的服务器详细信息。

    更多参考 1

    【讨论】:

      【解决方案3】:

      这个问题源于不知道每个键的作用。此信息与取代 GCM 的 Firebase 云消息传递相关。


      FCM 发件人 ID

      FCM Sender ID 实际上是 Firebase 项目编号 ?。要自己检查,您可以将google-services.json/Firebase 项目设置页面中的project_info.project_number 与发件人ID进行比较。

      Android 客户端使用它来识别要向哪个应用程序(Firebase 项目)注册 FCM,因此很有意义。

      它在敏感的google-services.json 中可用。

      如果用户知道您的发件人 ID,他们可以做的最糟糕的事情是他们可以注册接收来自您的推送通知。


      FCM 服务器密钥

      FCM 服务器密钥敏感,因为它允许用户向已注册的设备发送推送通知。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-26
        • 2017-10-01
        • 2013-02-24
        • 1970-01-01
        • 2010-10-14
        • 2022-12-09
        • 1970-01-01
        • 2011-06-02
        相关资源
        最近更新 更多