如何保护Firebase数据库不被黑客复制?

时间:2017-10-12 15:55:54

标签: javascript firebase firebase-realtime-database firebase-security

首先,我想让你产生一个想象的情况:

我正在制作一个网站。为此,我创建了第一个文件:index.html。我想在Firebase访问时创建一个登录/注册脚本。我给了电子邮件和密码输入以及提交按钮。简单。现在是时候将它们与firebase链接起来了,所以我要粘贴到文件JS片段,创建createUserWithEmailAndPassword函数并在Firebase控制台中添加电子邮件/密码验证。现在是时候制作登录面板了。我正在创建相同的面板,但使用"登录"按钮,创建signInWithEmailAndPassword函数和onAuthStateChanged函数,其中我创建了"从数据库获取一些信息"用于为用户显示内容的功能。

好的,网站发布了......

他是一名黑客,他想从我糟糕的数据库中销毁整个数据,因此他复制了整个网站的源代码,但他将数据功能更改为删除数据功能。他使用自己在我网站上注册的电子邮件登录,然后激活删除功能,整个数据丢失......

最后这些问题:如何保护?这种情况有可能吗?如果没有 - 为什么不呢?

2 个答案:

答案 0 :(得分:1)

您可以通过在数据库中实施安全规则来防范此类情况,您可以在以下位置了解相关信息:https://firebase.google.com/docs/database/security/

您最感兴趣的是.write.read,它们允许您定义用户可以访问数据部分的规则

答案 1 :(得分:1)

黑客无法发布他的网站,因为他需要登录您的电子邮件才能执行firebase deploy命令。

使用数据库规则".write": "auth != null",黑客只能删除自己的数据。您可以使用数据库规则here

阅读更详细的答案