我正在使用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();
}