Are*_*Lin 3 api-key firebase firebase-realtime-database
有人可以帮助我解决Firebase安全问题吗?
这是我试图弄清楚的:
我了解到,要让客户端与我的Firebase应用程序,配置进行交互, firebase.initializeApp(config)并将其公开,并且使用客户端的每个人都可以在浏览器开发人员控制台中看到它。
我也知道这很好,因为我可以使用安全规则和身份验证来保护数据。
但是,如果有人复制了我所有的客户端代码(包括配置)并构建了许多克隆站点,那么他们可以根据需要使用我的Firebase数据库了吗?
在这种情况下,我是否应该将configs(api键)隐藏到后端(如云函数)?谢谢...
我以前想知道类似的东西,经过一番搜索后找到了这篇方便的文章。(本文本身是关于移动开发的,但是有一节解决了这个特定的问题)。相关部分的标题为“ 按域和软件包的API阻止 ”
这篇文章比我能更好地解释了它,以防万一链接断开,我将在下面复制文本以供将来的查看者参考。这是由Jorge Vergara在他的网站https://javebratt.com/hide-firebase-api/上撰写的,最后更新于2018年7月20日。
另外一件很酷的事情,如果您使用Google API帐户,则将看到所有Firebase项目,选择一个,然后在“凭据”选项卡中选择您的API密钥。
如果您从未使用过它,则应将其称为“浏览器密钥”(由Google Service自动创建),将其打开,然后会找到密钥限制选项:
该密钥不受限制。为了防止未经授权的使用和配额盗窃,请限制您的密钥。密钥限制使您可以指定哪些网站,IP地址或应用程序可以使用此密钥。
在这里,您可以选择HTTP引荐来源网址(网站)并添加您的域。这意味着Firebase数据库将仅接受来自该域的人员的请求。
或Android应用程序和iOS应用程序,您可以在其中添加程序包名称和指纹。
例如:
如果您构建myawesomeapp.com并将该域添加到HTTP Referrers(网站)部分,则任何尝试从其他域进行连接的攻击者都会收到错误消息,并且这些请求将永远不会进入数据库。
他提供的用于访问您的Google API帐户的链接为:https : //console.developers.google.com/apis/credentials
如果单击显示为“ 浏览器密钥(由Google Service自动创建) ” 的链接,则应该在底部看到“ 应用程序限制 ”部分,在这里您可以选择“ HTTP引荐来源网址 ” ...单击该链接,您可以输入批准的域。
无需尝试隐藏您的 API 密钥。它本质上是公共信息,无论您如何努力混淆它,坚定的黑客都将能够获得它。
通过获取您的 API 密钥,黑客并不能真正获得太多收益。它只是您项目的唯一标识符。如果您想保护实时数据库和 Cloud Storage 中的数据,您应该使用安全规则和 Firebase 身份验证来保护只有应该拥有该访问权限的用户的访问权限。
| 归档时间: |
|
| 查看次数: |
2260 次 |
| 最近记录: |