首页 文章

Firebase Admin SDK for PHP是否是隐藏Firebase凭据的有效方法?

提问于
浏览
1

到目前为止,无论我们使用什么平台,我都能在保证数据安全方面发挥重要作用 . 但我发现,如果开发人员以可以在客户端脚本上轻松看到firebase凭据的方式构建它们,那么Web JavaScript组合和其他实现可能纯粹面临风险 .

值得庆幸的是,Firebase以各种语言支持REST API's,可以某种方式降低风险 . 为此,我查看了Kreait's Firebase Admin SDK for PHP,了解我正在创建的Web数据管理门户 .

以下是适用于PHP的Firebase Admin SDK的简单demo .

The following good points that I found for this library are:

  • Firebase凭据写在后端脚本上,它们隐藏在前端客户端上

  • 从客户端隐藏查询和数据库操作和实现

  • 具有对Firebase实时数据库,身份验证和用户管理的后端支持

My questions are:

  • 我的firebase凭据是否真的安全,使用这种方法时不会向全世界广播,而不是仅仅将它放在普通的javascript文件中?

  • 还有其他方法可以使firebase凭据和数据更安全(除了加密数据,通过REST实现和结构合理的安全规则将它们隐藏在后端脚本中)?

提前感谢您的意见和建议 .

1 回答

  • 1

    在面向前端的应用程序中公开API Key或Project ID等信息时没有安全风险(请参阅https://firebase.google.com/docs/web/setup,这是建议的过程) - 您的Web应用程序只能执行当前经过身份验证的用户可以执行的操作 .

    当然存在安全规则定义不明确的风险,但后端应用程序的情况也是如此 - 一个愚蠢的例子:当您在服务器上创建无密码帐户时,任何人都可以使用该帐户登录^^ .

    关于Admin SDK:它们的主要目的是执行管理和/或后端任务 . 如果将业务逻辑从客户端(= Browser)转移到后端,则会丢失Web库提供的大量功能 . 您将不得不重新实现功能,将数据从前端传递到后端并返回...我认为这不值得麻烦 .

    因此,我的建议是:不要担心在浏览器中查看JS代码时可见的配置剪切,并广泛测试您的安全规则,最好是使用自动化测试套件,您应该没问题 .

相关问题