Firestore,如何保障用户输入?

问题描述 投票:0回答:2

我正试图把我所有的后端都放在Firestore上。

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

我的问题是所有这些数据都是通过Javascript发送的,因此不安全。我怎样才能确定用户不会作弊并说他的lastConnectionDate是50年前的?

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

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

javascript firebase google-cloud-firestore firebase-security firebase-security-rules
2个回答
1
投票

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

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

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


1
投票

使用firebase函数设置lastConnectionDate。也许使用身份验证触发器

https://firebase.google.com/docs/functions/auth-events

© www.soinside.com 2019 - 2024. All rights reserved.