gpt4 book ai didi

javascript - 将敏感数据存储在 Local Stoarge 或 session 存储中是否安全? Localstorage 允许对敏感数据进行任何攻击

转载 作者:可可西里 更新时间:2023-11-01 02:57:53 25 4
gpt4 key购买 nike

在 Web 应用程序中,Html5 中的本地存储有多安全,或者是否有任何其他方法来保护本地存储中的敏感数据。

项目结构:

前端:Html5、Angular js,中间层: Asp.net webApi,后端:Sql Server。

一旦用户登录到页面,该凭据将使用一些密码算法加密。它将存储在数据库中。

之后,每个子操作(如产品列表、订单详细信息、图书历史记录、添加产品)都需要对其进行验证。

在页面刷新后,数据丢失,因此需要保留数据,所以我选择了本地存储。使用一些js算法加密存储用户名和密码并放在本地存储中。

我觉得不安全,因为任何人都可以从浏览器工具中窃取数据。

在这种情况下是否有任何替代方法,或者这种方法是安全的。

谁能帮我处理一下

最佳答案

有一点是每个Webapp工匠都必须知道的:

在您的防火墙之外没有可以完全安全的存储库。为什么?因为每个人都可以访问允许您的应用程序操作数据的大门。

假设您决定加密本地存储的内容。

这将阻止有权访问浏览器本地存储的人(例如开发人员工具)读取/写入数据。但是您的应用程序将如何访问数据?您有两个选择:

  1. 在客户端应用程序中发送加密算法 + 密码。如果有人设法读取您的应用程序代码并访问浏览器内存(例如开发人员工具),这将暴露您的所有数据
  2. 将客户端的所有数据发送到服务器以在那里解密。好吧……这毫无意义。就此而言,最好将数据存储在服务器中。

你想尝试多少都可以,你需要一扇敞开的门,而那扇敞开的门可以被任何人使用。

但我有一个问题要问你:你真的需要在客户端有一个完全安全的存储库吗?这种存储库并不是为了完全安全而创建的,但它们已经足够安全了!

例如,您的网络应用程序的 session cookie 由浏览器存储,对吗?如果有人窃取了该 cookie,它就可以冒充用户而您的应用程序永远不会注意到它,对吧?当你想到它时,这是非常可怕的。

现在没有人对此过多考虑,因为浏览器足够安全,可以保护 cookie 免受恶意访问。当然,他们也做了同样的事情来保护本地本地/ session 存储、IndexedDB、WebSQL 等。

因此,如果您的数据比您的用户 session 更宝贵,请将其保存在服务器中。如果没有,请继续将其放入浏览器。

专业提示:在存储在不安全的存储库中时考虑加密,以使其更难获取。但请记住,这是有代价的:您将无法使用这些存储库的查询系统来搜索加密数据。

关于javascript - 将敏感数据存储在 Local Stoarge 或 session 存储中是否安全? Localstorage 允许对敏感数据进行任何攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39366673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com