我最近在与一家开发Angular.js网络应用程序的公司合作。他们使用Firebase作为他们的数据库解决方案,并且在app
目录下的应用配置文件中,他们使用Firebase密钥绕过Firebase的身份验证。
我在想,这有多安全?有人可以通过DevTools或其他方法读取生产中的Firebase密钥吗?在配置文件中使用身份验证凭据是一种好习惯吗?丑化这些文件会有什么帮助吗?
更新
他们在Angular.js应用程序和一个Node.js服务器(他们有多个存储库)中使用密钥。
我想知道应用程序中的密钥与服务器相比有多安全?
答案 0 :(得分:1)
了解Firebase数据库的秘密,为您提供对该数据库的管理员级别访问权限。因此,不应与应用程序的用户共享,除非您对所有访问数据库的用户感到满意。如果您对此感到满意,那么您最好不要实施安全规则。
如果它是纯粹的AngularJS应用程序,除了Firebase之外没有服务器组件,则所有人都必须在用户的浏览器中运行代码。这意味着秘密将在用户的浏览器中,正如所解释的那样是安全风险。
对文件进行丑化/混淆无助于显着:值仍将存在。解决方案是让用户正确进行身份验证,以便您可以保护数据库免受未经授权的访问。