在使用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可以检索从开始到现在的所有游戏细节,这给开发人员带来了沉重的使用费负担
发布于 2020-05-26 11:52:58
我认为在公共端点中禁用REST API是不可能的(即使用户未通过身份验证,也需要获取数据)。但是有一种方法可以使用实时数据库安全规则来限制查询:
"rules":
{
"my-world-visible-rdb-endpoint":
{
".read": "query.limitToLast>1 && query.limitToFirst < 50",
".write": false
}
}上面的代码将强制客户端显式限制结果,并将拒绝像您提到的示例那样的代价高昂的读取。
https://stackoverflow.com/questions/44126882
复制相似问题