架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 20|回复: 1

[其他] 前端安全 secure-ls 加密存储保护数据

[复制链接]
发表于 昨天 21:22 | 显示全部楼层 |阅读模式
需求:前端通常将 token 明文存储在浏览器的 localStorage 中,或者一些配置缓存在前端,如果使用明文存储,容易泄露、伪造修改,前端如何安全存储这些数据呢?

secure-ls

使用高级别的加密和数据压缩技术保护本地存储/会话存储数据。

特征

使用各种类型的加密(包括AES、DES和)保护数据Rabbit。RC4(默认为Base64编码)。
在存储数据之前对其进行压缩localStorage以节省额外的字节(默认为true)。
对 API 进行高级封装localStorage,并提供其他基本实用程序。
将数据保存在多个键中localStorage,并secure-ls始终记住其创建时间。

源码:超链接登录可见。
文档:超链接登录可见。
在线演示:超链接登录可见。

如下图:

QQ截图20261006211425.jpg

控制台测试

直接使用浏览器控制台加载 js 进行测试,代码如下:
如下图:

QQ截图20261006211950.jpg QQ截图20261006212025.jpg

(完)




上一篇:使用 Process Monitor 监控注册表(排查系统设置被修改)
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 昨天 21:27 | 显示全部楼层
removeAll() 和 clear() 都是用来清除存储数据的方法,但它们的作用范围和行为有所不同。下面是两者的区别:

ls.removeAll()

作用范围:removeAll() 方法专门用于移除由 secure-ls 库创建的所有键值对,包括元数据键(meta key)。
特定于库:这个方法是 secure-ls 库特有的,只影响该库管理的数据。
使用场景:当你只想清除 secure-ls 管理的数据,而不影响其他可能存储在 localStorage 中的数据时,可以使用此方法。

ls.clear()

作用范围:ls.clear() 方法会清除当前域名下所有通过 localStorage 存储的数据,而不仅仅是 secure-ls 创建的数据。
全局清除:这个方法不仅会删除 secure-ls 的数据,还会删除所有其他通过 localStorage API 存储的数据。
协议敏感:需要注意的是,localStorage 是基于源(origin)的,这意味着 HTTP 和 HTTPS 协议下的数据是分开存储的。因此,如果你在一个页面上使用 HTTP 协议,而在另一个页面上使用 HTTPS 协议,那么它们的 localStorage 数据是不同的。ls.clear() 只会清除当前协议下的数据。

总结

如果你只想清除 secure-ls 库管理的数据,使用 ls.removeAll()。
如果你需要清除当前域名下所有的 localStorage 数据,无论这些数据是由哪个库或代码段创建的,使用 ls.clear()。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-10-7 05:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表