当前位置: 首页 > 知识库问答 >
问题:

防止用户操纵firestore数据

公孙宏畅
2023-03-14
int USER_BALANCE = 0;
User user = new User(name, email, USER_BALANCE,0,0, refreshedToken);  db.collection(FIREBASE_COLLECTION_USERS).document(firebaseUser.getUid()).set(user).addOnSuccessListener(this);

共有1个答案

高云瀚
2023-03-14

你可以使用消防规则。Firebase规则检查用户是否能够操纵您的数据。您可以选择让用户只能读取特定值。因为您还没有提供数据库结构的视图,所以我没有告诉您需要的特定规则将如何框架化。看看这个博客,当我开始的时候,它真的帮助了我很多。

---编辑---

下面的firebase规则检查用户是否试图更新特定字段并阻止它。你可以查看这篇文章了解更多信息。

function notUpdating(field) {
   return !(field in request.resource.data)
    || resource.data[field] == request.resource.data[field]
}
match /Users/{userId}{
    allow read;
    allow update: notUpdating('user_balance');
}
 类似资料:
  • 我使用Android导航图并发送参数。下面是我获取这些参数的方法: 或者解决方案是:将args中传递的对象更改为支持清除它的类?IE:

  • 为什么下面的语句出现错误 当以下代码正常工作时

  • 用 upstart 控制 Ceph 用 ceph-deploy 把 Ceph Cuttlefish 及更高版部署到 Ubuntu 之后,你可以用基于事件的 Upstart 来启动、关闭 Ceph 节点上的守护进程。 Upstart 不要求你在配置文件里定义守护进程例程。 用下列命令列出 Ceph 作业和例程: sudo initctl list | grep ceph 详情参见 initctl 。

  • 我试图阻止用户在谷歌地图的某个区域之外移动。然而,似乎没有一种简单的方法来做到这一点。第一次在这里求你发发慈悲吧。 我尝试了以下方法,试图在用户滚动时进行轮询,但问题是OncamaChange触发的频率不够,因此它的工作不稳定且不准确。我知道一定有某种方法可以做到这一点,因为它似乎是一个简单而基本的功能。

  • 出于学习目的,我正在使用OAuth2开发一个REST API Angular 4应用程序。 有些受保护的endpoint只能由经过身份验证的用户调用。让我们以更新用户配置文件的endpoint为例: /users/{user_id} 登录用户将能够通过转到更新配置文件屏幕来更新自己的配置文件,该屏幕在后台将调用 /users/{user_id}发送带有新信息和访问令牌的有效载荷。 我们如何防止恶意

  • 如果用户伪造位置,我会阻止他们使用我的应用程序。所以我使用来检查位置是否是假的(请点击此处)。但是在某些情况下可能会为伪造的位置返回false。 录像机:https://www.youtube.com/watch?v=rWVvjOCaZiI(在这段视频中,我的当前位置是16.06108.21,假位置是36.26138.28。你可以在上一段视频中看到,位置是36.26138.28,但isFromMo

  • 问题内容: 如何才能确保应该在Android操作系统上运行x倍时间的任务在该x周期内运行,而无需用户操纵日期和时间?例如,如果我希望此计时器连续运行24小时,然后告知用户24小时过去了,即使手机关闭了一个小时,那么用户也可以将其重新打开并将系统时间设置为2小时,该计时器仍会指示何时经过了固定的24小时,而用户无需操纵系统日期/时间,也无需连接到Internet验证经过了适当的时间。 谢谢 问题答案

  • 记住,使用 tenant2 可以在一些服务调用中更新自己的 TenantId,我们需要在服务器端对它进行安全检测。 与此类似,即使默认情况下,不能看到其他租户的用户,但实际上可以检索和更新他们。 又到了黑客时间。 打开 Chrome 的控制台,并输入: new MultiTenancy.Administration.UserDialog().loadByIdAndOpenDialog(1) 什么?