Mup*_*pet 5 javascript security caching cache-invalidation reactjs
我正在 React 中开发一个应用程序,它在客户端进行加密并将加密的内容发送回服务器以进行安全存储(例如考虑在线钱包)。这很有效,因为数据是安全的,以防有人恶意访问数据。但是,如果黑客访问服务器并更改实际的 React 代码以将数据以原始格式而不是加密格式发回,这将破坏整个系统。
那么我怎样才能强制 React 应用程序只缓存一次,然后在未来的任何时候,在它拉出应用程序的新版本之前,它会警告用户“有新的更新可用,他们需要检查 Twitter和/或 GitHub 以确保有效性”?
基本上我需要在“缓存失效”尝试发生之前检测它们并警告用户。我怎么能这样做?
您可能需要考虑以下几个选项:
object.freeze()
第一次加载数据后设置缓存,然后用于检测try/catch
另一次写入尝试。
创建对象的Proxy
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)
}
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
154 次 |
最近记录: |