Firebase匿名登录安全性

时间:2017-07-16 19:11:10

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

我有一个网络应用程序,当访问者提交表单时会写入数据,并在提交表单时读取数据。每个人都可以读取数据,但是只要用户点击提交按钮,我就会使用firebase匿名登录选项来编写数据。

在我的firebase数据库规则中,我已将写入设置为" auth!= null"因为没有用户,但我仍然希望保护数据。

为什么任何人都无法在浏览器开发者工具中找到我的配置文件,并创建一个使用该配置文件和匿名登录并滥用我的数据的应用程序?如果可以的话,我如何确保我的数据保持安全?

1 个答案:

答案 0 :(得分:0)

他们可以创建不同的用户并修改该用户的数据,这很好。但是,他们无法掌握匿名用户的数据。您可以通过设置以下规则,确保只有特定用户(由唯一用户ID标识)才能访问他/她自己的数据。每个匿名用户都有一个唯一的uid: { "rules": { "users": { "$user_id": { // grants write access to the owner of this user account // whose uid must exactly match the key ($user_id) ".write": "$user_id === auth.uid", // You can do the same for reads. ".read": "$user_id === auth.uid" } } } } 有关详情,请查看文档:{​​{3}}

这可以保护匿名登录真实应用程序的用户不会被某些网上诱骗应用程序从外部访问数据。

但是,您无法防止使用您的API密钥并注册匿名用户。如果您需要更安全的登录机制,可以查看具有源验证机制的OAuth提供商或电话登录。