如何防止未经授权访问我的Firebase实时数据库?
如何防止其他用户通过我的Firebase URL访问我的实时数据库?我必须做些什么才能将其仅保护到我的域?首先,请理解,您无法根据源域保护internet上的任何URL——恶意用户可能只是撒谎。保护源域仅在防止跨站点欺骗攻击(恶意源假装是您的站点并欺骗您的用户代表他们登录)时有用 好消息是,用户从一开始就被禁止从未经授权的域进行身份验证。您可以在Forge中设置授权域:如何防止未经授权访问我的Firebase实时数据库?,firebase,firebase-security,Firebase,Firebase Security,如何防止其他用户通过我的Firebase URL访问我的实时数据库?我必须做些什么才能将其仅保护到我的域?首先,请理解,您无法根据源域保护internet上的任何URL——恶意用户可能只是撒谎。保护源域仅在防止跨站点欺骗攻击(恶意源假装是您的站点并欺骗您的用户代表他们登录)时有用 好消息是,用户从一开始就被禁止从未经授权的域进行身份验证。您可以在Forge中设置授权域: 在浏览器中键入Firebase url(例如) 登录 单击Auth选项卡 将您的域添加到授权请求源列表中 选择要使用的“提供
- 在浏览器中键入Firebase url(例如)
- 登录
- 单击Auth选项卡
- 将您的域添加到授权请求源列表中
- 选择要使用的“提供程序”,并进行相应配置
{
"rules": {
// only authenticated users can read or write to my Firebase
".read": "auth !== null",
".write": "auth !== null"
}
}
安全规则是一个大话题。你会想
如果有人知道更多的方法,请告诉我,没有人是完美的。我想开发一个用户无需登录即可使用的应用程序。但我担心的是,如果有人浏览我网站的源代码,并获取我的firebase url,然后将其用于自己的读写过程。我已经添加了一个www.google.com作为授权url,但我可以从另一个主机的ip(其中包含我的应用程序文件)向我的firebase写入内容。如上所述,如果没有某种变体的身份验证,您无法阻止任何人向您的firebase(或web上的任何其他内容)写入内容。我认为这类似于rdbms数据库身份验证。谢谢。如果他们实际上是同一个人(即他们有用户名和密码),那么他们从哪里连接又有什么区别呢?使用验证规则和安全性来防止未经授权的写入,不要担心诸如origin.Yes之类的人为/无效约束。我很确定这就是我说的?白名单是为了防止跨站点欺骗,而不是防止请求来源。