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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firebase Firestore更新时间字段安全问题相关的知识,希望对你有一定的参考价值。

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

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

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

答案

您希望将消息时间属性设置为等于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();
}

以上是关于Firebase Firestore更新时间字段安全问题的主要内容,如果未能解决你的问题,请参考以下文章