如何防止其他用户通过我的 Firebase URL 访问我的实时数据库?我必须做些什么才能将其仅保护到我的域?
问问题
26047 次
2 回答
51
首先,要了解您无法根据源域保护 Internet 上的任何 URL——恶意用户可以简单地撒谎。保护源域仅对防止跨站点欺骗攻击有用(恶意来源伪装成您的站点并欺骗您的用户代表他们登录)。
好消息是,用户从一开始就无法从未经授权的域进行身份验证。您可以在 Forge 中设置您的授权域:
- 在浏览器中输入您的 Firebase 网址(例如https://INSTANCE.firebaseio.com/)
- 登录
- 单击“身份验证”选项卡
- 将您的域添加到授权请求来源列表
- 选择您要使用的“提供者”并进行相应配置
现在为了保护您的数据,您将转到安全选项卡并添加安全规则。一个好的起点如下:
{
"rules": {
// only authenticated users can read or write to my Firebase
".read": "auth !== null",
".write": "auth !== null"
}
}
安全规则是一个大话题。您将希望通过阅读概述和观看此视频来加快速度
于 2013-08-02T02:25:15.023 回答
0
设置安全规则,学习来源:https ://firebase.google.com/docs/rules
使用模拟器(它会使初学者程序员不容易看到键),来源:https ://firebase.google.com/docs/rules/emulator-setup
Cloud Functions(它将隐藏集合和文档的名称),https://firebase.google.com/docs/functions
将 API 密钥限制为特定网站/s(这将使人们无法从外部访问您的网站/应用程序)
如果有人知道更多方法,请告诉,没有人是完美的。
于 2021-02-14T07:05:47.333 回答