我正在用 React 开发一个应用程序,它在客户端进行加密并将加密的内容发送回服务器以进行安全存储(例如考虑在线钱包)。这很有效,因为数据是安全的,以防有人恶意访问数据。但是,如果黑客访问服务器并更改实际的 React 代码以将数据以原始格式而不是加密发送回,这将破坏整个系统。
那么如何强制 React 应用程序只缓存一次,然后在 future 的任何时候,在它拉取应用程序的新版本之前,它会警告用户“有新的更新可用并且他们需要检查 twitter和/或 GitHub 以确保有效性”?
基本上我需要在“缓存失效”尝试发生之前检测它们并警告用户。我怎么能这样做?
最佳答案
您可能需要考虑的几个选项:
object.freeze()
第一次加载数据后在您的缓存中,然后使用 try/catch
检测另一个写入它的尝试。const cache = Proxy({
isSet: false,
data: {}
}, {
set(obj, prop, value) {
if (prop === 'isSet') throw new ReferenceError()
if (obj.isSet) throw new Error('Cache already set')
obj.isSet = true
return Reflect.set(...arguments)
}
})
关于javascript - 如何检测/避免对我缓存的基于 React 的应用程序的更新?或者如何在缓存失效发生之前检测到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63660605/