如何设置规则以限制对特定域的匿名读/写Firebase数据库(Firestore和Realtime)访问
我有一个应用程序,要求用户匿名读写firebase数据库。我需要一种方法,让用户只能匿名读取/写入特定域。我在这里也看到了类似的堆栈溢出问题 我也试过这样的规则如何设置规则以限制对特定域的匿名读/写Firebase数据库(Firestore和Realtime)访问,firebase,google-cloud-firestore,firebase-authentication,Firebase,Google Cloud Firestore,Firebase Authentication,我有一个应用程序,要求用户匿名读写firebase数据库。我需要一种方法,让用户只能匿名读取/写入特定域。我在这里也看到了类似的堆栈溢出问题 我也试过这样的规则 { "rules": { ".read": "auth.token.email.matches(/.*@mydomain.wtf$/)", ".write": "auth.token.email.matches(/.*@myd
{
"rules": {
".read": "auth.token.email.matches(/.*@mydomain.wtf$/)",
".write": "auth.token.email.matches(/.*@mydomain.wtf$/)"
}
}
但这似乎只适用于电子邮件
我在官方文档中看到的所有规则示例似乎都没有提到域
有没有办法限制基于域的匿名读/写访问?如果没有,是否有其他方法可以安全地允许匿名用户读/写?如果有其他方法不涉及限制域,我洗耳恭听
有没有办法限制基于域的匿名读/写访问
不,不可能基于web域限制使用。人们可以使用公共RESTAPI从internet上的任何位置访问Firebase数据库。API可用于实时数据库和Firestore。无法验证访问是否在特定应用程序或浏览器域中进行
是否有其他方法可以安全地允许匿名用户读/写
你要么允许匿名访问,要么不允许。除此之外,没有办法“保护”匿名访问
有没有办法限制基于域的匿名读/写访问
不,不可能基于web域限制使用。人们可以使用公共RESTAPI从internet上的任何位置访问Firebase数据库。API可用于实时数据库和Firestore。无法验证访问是否在特定应用程序或浏览器域中进行
是否有其他方法可以安全地允许匿名用户读/写
你要么允许匿名访问,要么不允许。除此之外,没有办法“保护”匿名访问。我想说的安全是指有没有办法阻止他们读取源代码,然后在本地编写自己的javascript来编辑数据库,而不是使用我的应用程序。但这听起来似乎是不可能的。您发送给最终用户的代码本质上是不安全的,因为他们可能能够对其进行反向工程,并使其执行任何他们想要的操作。这就是为什么所有的安全性都必须在后端实现,以确保真正的安全性。我想安全性的意思是,有没有任何方法可以阻止他们读取源代码,然后在本地编写自己的javascript来编辑数据库,而不是使用我的应用程序。但这听起来似乎是不可能的。您发送给最终用户的代码本质上是不安全的,因为他们可能能够对其进行反向工程,并使其执行任何他们想要的操作。这就是为什么所有的安全性都必须在后端实现,才能真正做到安全。