我知道从Firebase查询时,您应该格外小心,以确保您正在读取想要的数据,但是前端写入是否容易受到恶意攻击?例如,攻击者可能使用字符串(或字典)而不是数字来填充年龄字段。假设我在后端进行了一个大型查询,以计算网站上用户的平均年龄。我为每个年龄段都做了一次获取,却忘记将任何字符串都强制为整数。用字符串执行此计算会使我的应用程序崩溃。
此外,有人可以通过加载大量数据来攻击我的网站。即使我将安全规则设置为仅允许某人更改名称,他们也可以将名称设置为包含大量数据的巨型词典。
从客户端代码调用我的后端api会更安全吗?该api可以验证所有数据是预期的,并且不会充满随机字典或无效的数据类型。
答案 0 :(得分:1)
借助Firebase(实时数据库和Cloud Firestore),您将使用服务器端安全规则来强制执行写入数据的格式,并确保所有数据访问均得到授权。例如,您可以确保用户只能修改自己的名称,并且只能写一定长度的名称。
由于这些规则是在Firebase的服务器上强制执行的,因此客户端代码无法绕过它们。从这种意义上讲,它们可以保护您免受自己的客户端代码中的错误以及可能窃取您的配置信息并尝试以此来访问数据的恶意用户的侵害。
要了解更多信息,请参见:
有关security rules的文档一般。
Cloud Firestore的安全规则文档。
Realtime Database的安全规则文档。