Firestore,如何确保用户输入的安全?

时间:2019-02-28 13:32:22

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

我正在尝试将所有后端都存储在Firestore中。

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

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

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