到目前为止,我已经了解到Firebase的Security Rules在保持数据安全方面发挥着重要作用,无论我们使用哪个平台。但是我发现,如果开发人员以一种可以在客户端脚本上轻松看到firebase凭据的方式构建它们,那么Web + JavaScript组合和其他实现可能纯粹面临风险。
值得庆幸的是,Firebase以各种语言支持REST API's,可以某种方式降低风险。为此,我查看了Kreait's Firebase Admin SDK for PHP我正在创建的Web数据管理门户。
以下是适用于PHP的Firebase Admin SDK的简单demo。
我为此库找到的以下优点是:
我的问题是:
提前感谢您的意见和建议。
答案 0 :(得分:1)
在面向前端的应用程序中公开API Key或Project ID等信息时没有安全风险(请参阅https://firebase.google.com/docs/web/setup,这是建议的过程) - 您的Web应用程序只能执行当前经过身份验证的用户所允许的操作做。
当然存在安全规则没有明确定义的风险,但是后端应用程序的情况也是如此 - 一个愚蠢的例子:当您在服务器上创建无密码帐户时,任何人都可以使用该帐户登录^ ^。
关于Admin SDK:它们的主要目的是执行管理和/或后端任务。如果将业务逻辑从客户端(= Browser)转移到后端,则会丢失Web库提供的大量功能。您将不得不重新实现功能,将数据从前端传递到后端并返回...我认为这不值得麻烦。
所以,我的建议是:不要担心在浏览器中查看JS代码时可见的配置剪切,并广泛测试您的安全规则,最好是使用自动测试套件,你应该没问题