Javascript Vue 或 React 存储敏感信息客户端安全



作为一个例子,我有一个Vue.js应用程序。当应用程序加载时,我通过HTTPS从服务器获取一些敏感数据,并将其存储在Vuex Store客户端。

是否有人可以通过浏览器中的开发人员工具或其他方式读取该数据?安全吗?有人有没有办法以同样的方式写信给 Vuex 商店?

有什么方法可以通过浏览器中的开发人员工具或其他方式读取该数据?

是的。你只需要一个对 Vue 组件的引用,然后你就可以访问它的$store属性。

在开发工具中,在 DOM 中选择一个与 Vue 组件对应的元素。然后在控制台中,输入:

$0.__vue__.$store

并且您可以访问 Vuex 商店。$0对应于选定的 DOM 元素。

通常,应始终假定用户可以通过某种方式访问所有客户端数据。可能有一些方法可以"隐藏"此数据,或使其更难访问。

在这方面,开发人员控制台可以被视为应用程序的一部分。您可以在代码中执行的任何操作也可以在控制台上完成。如果你的应用可以访问某些内容,那么用户也可以。

而且比这更糟糕。即使您的用户不关心客户端存储,因为无论如何这是他的数据,如果您的应用程序容易受到 XSS 的攻击,则利用它的恶意用户也可以访问客户端存储中的任何数据。

除此之外,如果你在客户端上存储了一些东西,它可能会被写入磁盘(cookie、websql 等(。因此,如果攻击者即使在应用程序上下文之外也可以访问客户端PC,他也将能够访问此类数据。

简而言之,不要在客户端上保留敏感数据。

相关内容

最新更新