Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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数据库,还是使用云函数?_Firebase_Google Cloud Firestore_Google Cloud Functions_Firebase Security - Fatal编程技术网

我应该直接查询Firebase数据库,还是使用云函数?

我应该直接查询Firebase数据库,还是使用云函数?,firebase,google-cloud-firestore,google-cloud-functions,firebase-security,Firebase,Google Cloud Firestore,Google Cloud Functions,Firebase Security,我还是个新手,独自为我的应用程序编写后端,所以我有些担心 我在这里问的问题是关于在客户端应用程序中共享我的数据库结构的安全问题 众所周知,在客户端编写的所有代码“对感兴趣的客户端不安全” 我从firebase团队读到Doug Stevenson的这篇文章 我要找的正是我问题标题的答案(与媒体上的帖子标题相同): 我应该直接查询Firebase数据库,还是使用云函数 但我没有得到答案,因为他说这取决于我的应用程序的情况和要求 那么,从安全角度来看,有人能告诉我,在客户端直接查询数据库(firest

我还是个新手,独自为我的应用程序编写后端,所以我有些担心

我在这里问的问题是关于在客户端应用程序中共享我的数据库结构的安全问题

众所周知,在客户端编写的所有代码“对感兴趣的客户端不安全”

我从firebase团队读到Doug Stevenson的这篇文章

我要找的正是我问题标题的答案(与媒体上的帖子标题相同):

我应该直接查询Firebase数据库,还是使用云函数

但我没有得到答案,因为他说这取决于我的应用程序的情况和要求

那么,从安全角度来看,有人能告诉我,在客户端直接查询数据库(firestore)中的数据结构是否可以,或者我应该只使用云函数吗

注:

  • 我知道只有使用客户端SDK才能实现实时数据,因此,如果我不想在客户端应用程序中共享我的数据库结构,我应该放弃该功能

  • 允许直接客户端访问是安全的,这取决于您的选择


    数据的结构没有不安全的地方。只有当用户能够做您不希望他们做的事情时,您的实现才缺乏安全性。这完全取决于您如何使用安全规则来实现。如果您的规则准确地表达了用户应该做什么和不应该做什么,您就不会有问题。如果您无法使用安全规则来满足您的需要,那么您应该强制通过后端进行访问。

    允许直接客户端访问是您选择的安全方式


    数据的结构没有不安全的地方。只有当用户能够做您不希望他们做的事情时,您的实现才缺乏安全性。这完全取决于您如何使用安全规则来实现。如果您的规则准确地表达了用户应该做什么和不应该做什么,您就不会有问题。如果您无法使用安全规则来满足您的需要,那么您应该强制通过后端进行访问。

    因此,在我的客户端应用程序中直接查询并拥有强大的安全规则不是一个坏的开发人员做法吗?(这应该是我问题的最后一行)这正是Firebase文档向您推荐的。我知道我将此答案标记为正确,但我在这里面临一个问题,现在云功能将按付费计划使用,我不能再使用它们了,我正在开发一款在firestore上保存其状态的游戏,因此,现在如果我想将后端逻辑(写入后端)放在客户端应用程序上,我不能使用安全规则来保护我的数据库,因为规则非常复杂,并且取决于游戏的状态,以前我会使用云函数来做这件事,但现在我不能像我说的那样使用它们,bcz我没有火焰计划那么这是否意味着现在firestore不是我的后端的合适位置?我应该推出自己的服务器吗?很抱歉,迟来的评论,但这是现在出来的你现在问的是一个意见的问题。询问意见的问题与堆栈溢出无关。我建议发布到一个可以进行一般对话的讨论组。所以,在我的客户端应用程序中进行直接查询,同时制定健全的安全规则,这不是一个不好的开发人员做法吗?(这应该是我问题的最后一行)这正是Firebase文档向您推荐的。我知道我将此答案标记为正确,但我在这里面临一个问题,现在云功能将按付费计划使用,我不能再使用它们了,我正在开发一款在firestore上保存其状态的游戏,因此,现在如果我想将后端逻辑(写入后端)放在客户端应用程序上,我不能使用安全规则来保护我的数据库,因为规则非常复杂,并且取决于游戏的状态,以前我会使用云函数来做这件事,但现在我不能像我说的那样使用它们,bcz我没有火焰计划那么这是否意味着现在firestore不是我的后端的合适位置?我应该推出自己的服务器吗?很抱歉,迟来的评论,但这是现在出来的你现在问的是一个意见的问题。询问意见的问题与堆栈溢出无关。我建议把帖子发到一个可以进行一般性对话的讨论小组。