我正在尝试将所有后端都放在 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/