Firebase如何阻止其他网站或黑客发布到我的数据库中?

时间:2020-02-21 06:21:57

标签: firebase

如果我有一个Web应用程序(网站),并且正在将用户浏览器中的数据发布到Firebase,它如何防止某些其他网站或黑客将其发布到我的数据库中?

如果有API密钥或令牌,则可以从用户开发控制台的流量中查看。可以通过用户位于哪个网站上来识别它,但是即使如此,黑客仍可以在HTTP流量数据中欺骗网站。

如果没有后端代码,如果我为一个用户发布10个游戏币,如果没有服务器代码来控制该用户,如何阻止用户将100个游戏币发布到同一个Firebase数据库中?

(有a post about other hackers hacking it will be difficult,但是黑客如何入侵自己的帐户呢?)

1 个答案:

答案 0 :(得分:1)

如果我有一个webapp(网站),并且我正在发布用户的 浏览器访问Firebase,如何防止其他网站或黑客入侵 从发布到我的数据库?

默认情况下,它实际上并没有“做”任何事情。你必须做点什么。

如果有API密钥或令牌,则可以从 用户的开发控制台。如果由哪个网站标识用户 处于开启状态,黑客就在HTTP流量数据中欺骗了一个网站。

客户端应用程序和Firestore之间发送的所有流量通常都是通过HTTPS或其他加密套接字进行加密的,因此对于任何只能看到客户端和服务器之间的加密字节流的人来说,它是不可见的。

没有后端代码,如果我为一个用户发布10个游戏币,我该如何 阻止用户将100个游戏币发布到同一Firebase 数据库,如果没有服务器代码来控制它?

您的安全规则将阻止这种情况,但是安全规则可能不够强大,无法阻止不需要的更改。因此,您可能需要一个后端。您始终认为客户端代码已被盗用,因为它在您无法控制的硬件上运行。

(有一篇关于其他骇客入侵的文章,但是 黑客如何入侵自己的帐户呢?)

当您使用安全规则(或其他机制)来控制对经过身份验证的单个用户的访问时,应假定该用户不受应用程序逻辑的约束。有人可以使用自己的身份验证令牌,并将其用于对Firebase服务的调用中,以执行他们对该帐户可以执行的任何操作。实际上,这与任何其他权限系统都没有什么不同。

相关问题