Firebase 数据库 - 页面计数器是否需要规则中的'write = true'?



基本上,每次有人点击我的网站时,它都会在我的实时数据库的计数器中添加一个。但是,如果我想将其添加到我的数据库中,则说写入必须等于 true。检索数据时也类似,它需要读取才能等于 true。

现在,如果写入等于 true,那么进入网站的人就不能更改我的私人数据库吗? 此外,如果读取等于真实,那么进入网站的人就不能读取我的私人数据库吗?

如何在不允许其他人更改或查看我的数据库的情况下私下在我的数据库中添加计数器?

你说的是真的 - 如果有人对带有计数器的孩子具有写入权限,他们可能会以一种与你可能期望的方式不一致的方式弄乱它的值。

如果需要 100% 防止恶意客户端,则需要在控制的后端实现写入逻辑。 后端可以使用 Firebase 管理员 SDK 来修改计数器。 由于 SDK 始终绕过安全规则,因此可以拒绝用户从客户端进行写入访问,而后端正常运行。 您的客户端必须调用后端而不是直接写入数据库,并且您的后端还可以检查用户是否应该能够增加该值。 也就是说,您的 API 端点仍可能被最终用户滥用,因此您可能还需要编写代码来防止这种情况。

最新更新