我正在研究 redux 应用程序的安全性,我将某些值存储在 redux 存储中,即用户令牌等。并试图查看其他人是否可以通过 xss 攻击访问它们,例如,我检查了 sessionStorage、localStorage , cookie 并且它不存在,而且它不在我的 app.js 文件(我的捆绑文件)中,因此我的问题。
原文由 Ilja 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在研究 redux 应用程序的安全性,我将某些值存储在 redux 存储中,即用户令牌等。并试图查看其他人是否可以通过 xss 攻击访问它们,例如,我检查了 sessionStorage、localStorage , cookie 并且它不存在,而且它不在我的 app.js 文件(我的捆绑文件)中,因此我的问题。
原文由 Ilja 发布,翻译遵循 CC BY-SA 4.0 许可协议
正要回答 React 和 Redux 是如何存储数据的?是 localstorage 还是 cookies? 当它作为副本关闭时。所以我想在这里粘贴我的答案。
首先,值得注意的是,UI 库实际上并不管理状态(组件级状态除外)。 ReactJS 和 VueJS 希望您像将参数传递给函数一样将数据传递给它们。他们不关心这些数据来自何处或您如何存储它。
另一方面,Redux 不是 UI 库——它是状态管理库。 Redux 确实 存储状态。 Redux 的 VueJS 推论将是“Vuex”。
有了这个,接下来你需要知道的是状态 管理 和状态 持久化 之间的区别。像 Redux 和 Vuex 这样的库通常会跟踪您的变量并提供用于更改状态的工具(特别是 reducer)——但它们不管理该状态的 持久性。持久性是指将状态保存在某个地方以便下次有人访问您的应用程序时重新加载它——这似乎是您所好奇的(因为您提到了 cookie 和本地存储)
持久性通常是手动编码的(将状态发送到 API 端点,API 端点将其保存到数据库,然后当您重新加载页面时,您 ping 不同的 API 端点以检索状态)或者您使用状态管理器的插件/模块来为你处理持久性。例如,有一个流行的 Redux Local Storage 插件叫做(足够简单) redux-localstorage
原文由 stevendesu 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
从文档的这一部分( http://redux.js.org/docs/FAQ.html#performance-state-memory )我推断它存储在内存中,所以它不是持久的。