【发布时间】:2016-04-08 15:49:06
【问题描述】:
每个人都知道你不应该在你的 js 代码中保留 sensitiveInfo 变量。更好的方法是将其放在本地存储中。您能否借助我的示例解释第一种方法的漏洞?
示例:
您使用捆绑器,它将所有 js 文件捆绑在一起。 sensitiveInfo 不是全局的,而是存储在 YourStorage.js 中。要访问保存它的文件,请执行以下操作:
import YourStorage from 'somepath/YourStorage';
YourStorage.sensitiveInfo = newValue; // QUESTION: can you steal this value? Is it accessible from console?
问题:
- 是否可以从控制台访问
sensitiveInfo变量? - 能否描述一下某人如何窃取
sensitiveInfo的机制? - 如果有人可以从我的代码中窃取它,为什么他不能从本地存储中窃取?
更新:(我想保护谁?)我正在编写移动网络应用程序,用户可以在其中花钱。我想保护他们免受各种可能导致资金损失的攻击(即本地安装的病毒)
【问题讨论】:
-
谁你试图保护免受?
-
您可以从本地存储中取回任何内容。它只是纯文本,非常容易访问。您可能根本不应该将敏感数据存储在本地存储中。
-
@JosephMarikle 在哪里存储用于自动登录的 authToken?
-
@deceze 试图保护免受所有坏人的侵害)抱歉,您是指某些特定类型的攻击吗?
-
令牌不同。令牌是远程会话的浏览器端。令牌本身是一个无意义的哈希,因此在本地存储它是安全的。然后将敏感信息存储在远程服务器上的会话中。
标签: javascript security local-storage bundler