我从Firebase开始,我有一个非常基本的问题
在我的数据库的Firebase规则中:
{
"rules": {
".read": true,
".write": true
}
}
根据google,这意味着任何人都可以在数据库上进行读写。
我的问题是谁?
让我澄清一下:
有人可以访问存储在Firebase中的数据吗?如果是,怎么办?
如果是的话,我又该如何保护数据而不强迫用户拥有凭据?
答案 0 :(得分:3)
true
在这里意味着您的数据实际上没有任何保护。任何拥有该工具以及您Firebase项目名称的人都可以完全读取和写入您的所有数据。应该考虑到您的数据库具有极端的隐私问题,这对于您存储的有关用户的数据尤其不利。
任何人都可以使用REST API这样简单的方法通过一个请求访问整个数据库(或删除整个数据库)。
如果没有Firebase身份验证,则应限制通过您控制的其他某些受保护API的所有访问。全面探讨如何设置其他API不在此问题的范围内。
答案 1 :(得分:0)
引用:
{
"rules": {
".read": true,
".write": true
}
}
您可以想象,作为安全门的读取和写入的布尔值,其中true是开放访问,而false是死胡同。将其声明为“ true”表示人们甚至可以使用您的应用程序(以某种方式)甚至不使用您的应用程序。
您的积分是:
此应用仅供私人使用。
此应用程序不会也永远不会分发给其他无关人员。
但是,如何确保其他人不会攻击/访问您的数据库?人们仍然可以通过浏览器控件(JS,Angular等)访问您的数据库。
请记住,逆向工程是可能的,他们可以获得您的数据库信息以及您的firebase凭证JSON文件,这可能会使您的数据处于危险之中。
无论如何,建议您限制安全规则。我的建议是实施一个基于角色的简单安全规则,以防止滥用和未经授权的API调用。