Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将敏感数据存储在本地存储或会话存储中是否安全?Localstorage允许对敏感数据进行任何攻击_Javascript_Angularjs_Angular_Security_Asp.net Web Api2 - Fatal编程技术网

Javascript 将敏感数据存储在本地存储或会话存储中是否安全?Localstorage允许对敏感数据进行任何攻击

Javascript 将敏感数据存储在本地存储或会话存储中是否安全?Localstorage允许对敏感数据进行任何攻击,javascript,angularjs,angular,security,asp.net-web-api2,Javascript,Angularjs,Angular,Security,Asp.net Web Api2,在web应用程序中,Html5中的本地存储有多安全,或者是否有其他方法来保护本地存储中的敏感数据 项目结构: 前端:Html5,Angular js,中间层:Asp.net webApi,后端:Sql Server 一旦用户登录到页面,该凭证将使用一些加密算法进行加密。它将存储在数据库中 之后,每个子操作(如产品列表、订单详细信息、书籍历史记录、添加产品)都需要对此进行验证 在页面刷新后,数据会丢失,因此需要持久化数据,因此我选择localstorage。将使用一些js算法加密的用户名和密码存储

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

项目结构:

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

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

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

在页面刷新后,数据会丢失,因此需要持久化数据,因此我选择localstorage。将使用一些js算法加密的用户名和密码存储在本地存储中

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

在这种情况下是否有其他方法,或者这种方法是安全的


有人能帮我处理吗。

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

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

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

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

  • 在客户端应用程序中发送加密算法+密码短语。如果有人试图读取你的应用程序代码并访问浏览器内存(例如开发人员工具),这将公开你的所有数据
  • 将每个数据从客户端发送到服务器,以便在那里解密。好。。。这是毫无意义的。因此,最好将数据存储在服务器中
  • 你可以尝试你想要的,你需要一扇敞开的门,而这扇敞开的门可以被任何人使用

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

    例如,web应用程序的会话cookie由浏览器存储,对吗?如果有人偷了这个cookie,它可以模拟用户,你的应用程序永远不会注意到它,对吗?想想看,这真是太可怕了

    如今,没有人对此进行过多的思考,因为浏览器足够安全,可以保护cookies免受恶意访问。当然,为了保护本地/会话存储、IndexedDB、WebSQL等,它们也做了同样的事情

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

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

    可能的重复数据