Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置规则以限制对特定域的匿名读/写Firebase数据库(Firestore和Realtime)访问_Firebase_Google Cloud Firestore_Firebase Authentication - Fatal编程技术网

如何设置规则以限制对特定域的匿名读/写Firebase数据库(Firestore和Realtime)访问

如何设置规则以限制对特定域的匿名读/写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

我有一个应用程序,要求用户匿名读写firebase数据库。我需要一种方法,让用户只能匿名读取/写入特定域。我在这里也看到了类似的堆栈溢出问题

我也试过这样的规则

{
  "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来编辑数据库,而不是使用我的应用程序。但这听起来似乎是不可能的。您发送给最终用户的代码本质上是不安全的,因为他们可能能够对其进行反向工程,并使其执行任何他们想要的操作。这就是为什么所有的安全性都必须在后端实现,才能真正做到安全。