首先让我说我刚开始使用Firestore。
我正在使用Firestore在React Native中构建一个消息传递应用程序。当用户向其他用户发送消息时,将创建一个包含消息信息的文档。
HStack {
Text("ValueEq is \(model.valueEq)")
.onTapGesture {
self.count = (self.count + 1) % 3
self.model.valueEq = self.model.valueEq + (self.count == 0 ? 1 : 0)
}
.onReceive(self.model.$valueEq) { val in
print("ValueEq is \(val)")
}
Text("ValueAlways is \(model.valueAlways)")
.onTapGesture {
self.count = (self.count + 1) % 3
self.model.valueAlways = self.model.valueAlways + (self.count == 0 ? 1 : 0)
}
.onReceive(self.model.$valueAlways) { val in
print("ValueAlways is \(val)")
}
}
.onReceive(self.model.objectWillChange) { _ in
print("Object Changed")
}
我不了解的是如何使这种防篡改。在我看来,用户可以更改此消息并发送任何时间戳作为创建日期,而不是请求我编程的服务器值。
即使有解决此问题的方法,似乎仍然存在安全漏洞:只要{messageId}的'sender'属性,每个用户都可以对/ messages / {messageId}进行写访问。文件与使用者编号相同。那么用户不能编写绕过我的功能并插入带有任意时间戳的消息的恶意代码吗?
我必须缺少一些东西,但是我似乎找不到任何答案。感谢您的帮助!