javascript - Firestore,如何保护用户输入?

标签 javascript firebase google-cloud-firestore firebase-security

我正在尝试将所有后端都放在 Firestore 上。

每次用户登录时,我都想更新 users 集合中的 lastConnectionDate

我的问题是所有这些数据都是通过 JavaScript 发送的,所以不安全。我如何确保用户不会作弊并说他的 LastConnectionDate 是 50 年前?

使用“经典”后端,我只需添加当前后端日期,而不要求用户提供它。

如何使用 Firebase/Firestore 保护此流程?

最佳答案

有一个特殊的FieldValue.serverTimestamp() marker value在 Firestore 写入操作中设置服务器端日期。

安全规则中有一个特殊的request.time variable其中包含当前时间。

通过在安全规则中比较这两个值,您可以验证写入的任何值是否与服务器上的当前时间相同。

关于javascript - Firestore,如何保护用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54926966/

相关文章:

flutter - '无效的文档引用。文档引用在 flutter 中必须有偶数个段

firebase - Flutter:如何将 Firebase 云消息传递与 ChatApp 集成

javascript - 使用 GoAngular 排序列表

javascript - 防止为 angularjs 页面运行表单验证

firebase - 在 Firebase 数据库中存储用户的正确方法

reactjs - 访问 firestore 中父集合的文档内的集合

javascript - 如何在ajax中构建字符串数组并将其传递给asp?

javascript - 根据时区更改日历 View

firebase - Flutter/Dart 和 Firebase 错误消息和代码

Android:Firebase remoteConfig getString() 方法正在从 default.xml 中的字符串中删除引号