【发布时间】:2014-06-01 15:21:51
【问题描述】:
我正在考虑将 Firebase 用于一个项目,该项目原本是一个带有 js 的静态站点。是否可以在静态站点中保护与数据库的连接?不是所有的安全规则、端点 url 等都暴露在 js 代码中,让用户提出他们想要的任何请求(好或坏)。
【问题讨论】:
标签: firebase firebase-security
我正在考虑将 Firebase 用于一个项目,该项目原本是一个带有 js 的静态站点。是否可以在静态站点中保护与数据库的连接?不是所有的安全规则、端点 url 等都暴露在 js 代码中,让用户提出他们想要的任何请求(好或坏)。
【问题讨论】:
标签: firebase firebase-security
简短的回答是是:通过验证您的用户并编写安全规则,您可以完全限制对 Firebase 数据的读/写访问。
简而言之,Firebase 安全性由服务器端规则强制执行,您编写并控制对 Firebase 数据树中给定路径的读取或写入访问。
Firebase 安全规则是类似于 JavaScript 的表达式:易于编写的表达式,可以访问连接凭据、Firebase 数据树的现有视图以及写入时的待定更改。
在大多数情况下,您的客户端逻辑、模板、资产等都是静态的和公开的。您真正要保护的是用户和应用程序数据,这就是 Firebase 身份验证(无论是使用自定义 Firebase 身份验证令牌还是 Firebase 简单登录)的用武之地。Firebase 身份验证本质上是令牌生成 - 获取已确认、可识别的用户数据并通过将其安全地传输到 Firebase,以免被欺骗。然后在您的安全规则中提供此确认的凭据数据。
查看https://stackoverflow.com/a/20842986/879295 以获取示例,查看Firebase Security Quickstart Video 以获得出色的概述/起点。
【讨论】: