移动端如何防止LocalStorage数据被恶意读取?

公孙祎芮 阅读 61

我在开发一个电商H5页面,需要把用户ID和token存在localStorage里。但测试时发现如果用户访问过恶意页面,攻击者能通过XSS直接读取这些数据。我试过用AES加密存储值,但不确定这样够不够?

现在用的是这样的写法:localStorage.setItem('auth', encrypt(JSON.stringify({userId: 123, token: 'xxx'}))),但加密密钥存在前端代码里,感觉还是不安全。有没有更稳妥的方案?

我来解答 赞 15 收藏
二维码
手机扫码查看
2 条解答
开发者乙涵
localStorage本来就不安全,别把敏感数据放里面。用HttpOnly的Cookie存token,设置Secure和SameSite属性。我之前也踩过这个坑,前端加密搞半天都不如后端直接控制安全。


// 后端设置cookie示例
Set-Cookie: auth=abc123; HttpOnly; Secure; SameSite=Lax
点赞
2026-03-28 09:03
博主艺茹
你这个问题本质是XSS防护,不是加密能解决的。localStorage本来就该被同源脚本访问,防不住恶意JS就读取。真要安全,token放httpOnly Cookie,前端只存个临时的、短时效的随机sessionKey,后端对应验证。

document.cookie = "token=xxx; path=/; domain=.yourdomain.com; HttpOnly; Secure";


别在localStorage里存敏感信息,加密也没用,密钥写前端等于没加密。
点赞 10
2026-02-13 03:07