如何检测/避免缓存的基于React的应用程序的更新?或者,如何在缓存失效发生之前检测到它



我正在React中开发一个应用程序,该应用程序在客户端进行加密,并将加密的内容发送回服务器以进行安全存储(例如,考虑在线钱包(。这样做效果很好,因为数据是安全的,以防有人恶意访问数据。然而,如果黑客访问了服务器,更改实际的React代码,以原始格式而不是加密格式将数据发回,这将破坏整个系统。

那么,我如何才能强制React应用程序只缓存一次,然后在未来的任何时候,在它提取新版本的应用程序之前,它都会警告用户";新的更新可用,并且他们需要检查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)
}
})

相关内容

  • 没有找到相关文章

最新更新