使用 Firebase BaaS 一段时间以来,我对 REST API 调用可能导致数据窃取和/或通过窥视下载大量数据这一事实持谨慎态度。
尽管 Firebase 规则中提出的规则有助于避免大多数用例问题,但一个简单的问题是,允许用户在未经身份验证的情况下读取部分数据库,如果最终用户使用恶意代码使用 REST API 调用卸载整个节点数据。
恰当的例子:这是最近在 GoogleIO2017 上发布的 Tic-Tac 游戏,它使用 Firebase https://tictactoe-io2017.firebaseapp.com/虽然只有经过身份验证的用户才能玩游戏一个简单的 REST API 调用 https://tictactoe-io2017.firebaseio.com/games.json可以检索从开始到现在的所有游戏详细信息..,权衡开发者的使用费用
最佳答案
我认为不可能在公共(public)端点中禁用 REST API(即使用户未通过身份验证也需要获取数据)。但是有一种方法可以使用实时数据库安全规则来限制查询:
"rules":
{
"my-world-visible-rdb-endpoint":
{
".read": "query.limitToLast>1 && query.limitToFirst < 50",
".write": false
}
}
上面的代码将强制客户端显式限制结果并拒绝昂贵的读取,就像您提到的示例一样。
关于rest - 如何禁用 Firebase 数据库的 REST API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44126882/