我正在考虑将Firebase用于一个项目,否则这是一个带有js的静态站点。是否可以在静态站点中保护与数据库的连接?不会将所有安全规则,终点网址等都暴露在js代码中,让用户做出他们想要的任何请求(好的或坏的)。
答案 0 :(得分:6)
简短回答是是:通过对用户进行身份验证并编写安全规则,您可以完全限制对Firebase数据的读/写访问权限。
简而言之,Firebase安全性由服务器端规则强制执行,您作者,并管理对Firebase数据树中指定路径的读取或写入访问权限。
Firebase安全规则是类似JavaScript的表达式:易于编写的表达式,可以访问连接的凭据,以及Firebase数据树存在的视图,以及写入时的挂起更改。
在大多数情况下,您的客户端逻辑,模板,资产等将是静态和公共的。您真正想要保护的是用户和应用程序数据,这就是Firebase身份验证(无论是使用自定义Firebase身份验证令牌还是Firebase简单登录)的用武之地.Firebase身份验证本质上是令牌生成 - 获取已确认的可识别用户数据并将其安全地传递到Firebase,以便它不会被欺骗。然后,您的安全规则中会提供此已确认的凭据数据。
查看https://stackoverflow.com/a/20842986/879295示例,Firebase Security Quickstart Video查看精彩概述/起点。