【问题标题】:Storing sensitive API keys in my app在我的应用程序中存储敏感的 API 密钥
【发布时间】:2017-12-22 04:15:07
【问题描述】:

标题并没有真正表明我的意思: 我正在寻找一种安全的方式来保存用户数据(游戏的积分系统 - 在任何情况下,用户都应该能够更改他的积分数量)。我偶然发现了 firebase,这看起来很不错而且很简单。

但是: 如果我授予应用程序直接将用户新点写入数据库的权限,这是非常不安全的,对吧?我的意思是,有人可以反编译应用程序并从 firebase 获取密钥,以便任何人都可以写入数据库,还是我错了?

另外,将这些“新点”保存到 firebase 实时数据库的最佳方法是什么?

编辑:我已经在使用 pro-guard 保护我的应用程序,但我猜这只会让用户更难获得密钥。

【问题讨论】:

标签: android firebase firebase-realtime-database


【解决方案1】:

您应用中的 Firebase 配置数据不是安全问题。这只是您的应用在服务器上找到其 Firebase 项目所需的信息。见Is it safe to expose Firebase apiKey to the public?

为了正确保护您编写的security rules 数据,这些数据在服务器上进行评估。有了这些,您可以确保用户只能读取您希望他们读取的数据,并且只有授权用户才能进行有效的更改。

在安全规则变得比可行的更复杂的情况下,您可以考虑通过Cloud Functions for Firebase 代理读/写。使用 Cloud Functions,您的代码可以在 Google 的服务器上运行,因此您不必担心用户出于恶意目的修改代码。

【讨论】:

    【解决方案2】:

    如果您使用云代码,它是安全的。这样,所有内容都通过服务器进行保存,用户无法更改,除非他们有权访问您的云代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多