Firebase Firestore更新时间字段安全问题

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

我正在使用Firebase Firestore开发一个简单的聊天网站。显而易见的是存储消息时间。

现在的问题是从客户端添加文档。因此malcius用户可以使用假时间添加文档。有没有办法避免这种情况。

我尝试过使用云功能,但是发送消息的时间太长了。

firebase web google-cloud-firestore
1个回答
3
投票

您希望将消息时间属性设置为等于Firebase服务器时间戳,提交时将使用request.time设置消息,您可以立即验证它。

安全规则

allow create: if request.resource.data.messageTime == request.time && 
              // other rules for the message body

客户端JS代码

const message = {
    text: 'Hello',
    messageTime: firebase.firestore.FieldValue.serverTimestamp();
}
© www.soinside.com 2019 - 2024. All rights reserved.