V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
coloz
V2EX  ›  问与答

网站使用 localStorage 存储 token,有可能被跨域攻击吗?

  •  
  •   coloz · 2019-07-01 18:03:20 +08:00 · 4459 次点击
    这是一个创建于 1979 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不懂就问,先谢过。
    如果可以,希望能讲解下使用 localStorage 存储 token 的风险。

    13 条回复    2019-07-02 15:34:13 +08:00
    xjroot
        1
    xjroot  
       2019-07-01 18:18:24 +08:00
    你这个概念太大了,你这个就等于在问,IPV6 有多少 Ip 一样的。
    SEARCHINGFREE
        3
    SEARCHINGFREE  
       2019-07-01 18:37:44 +08:00 via iPhone
    localstorage 没有过期时间不是作死吗
    whypool
        4
    whypool  
       2019-07-01 18:49:03 +08:00
    没风险,放心用
    love
        5
    love  
       2019-07-01 19:02:26 +08:00
    @SEARCHINGFREE 服务器有过期时间怕啥
    不过还是没有 cookie 安全,因为可以被 js 随便读
    coolair
        6
    coolair  
       2019-07-01 19:04:55 +08:00 via Android
    一楼的这种比喻有道理吗?我觉得这种问题描述的还是比较清楚的,可能我也会这么问……
    weixiangzhe
        7
    weixiangzhe  
       2019-07-01 19:30:53 +08:00
    用 httponly 的 cookie 简单点吧
    luoway
        8
    luoway  
       2019-07-01 19:47:08 +08:00
    @undeflife #2 和楼主头像一样?

    楼主问题答案是可能:假设网站存在 XSS 漏洞,可以执行用户脚本,那么 token 就可以被用户获取和使用。
    jason94
        9
    jason94  
       2019-07-01 19:55:04 +08:00 via Android
    容易被 xss
    iMusic
        10
    iMusic  
       2019-07-01 20:18:51 +08:00
    storage 可以被 js 拿到,如果网站有 XSS 漏洞就有可能。
    undeflife
        11
    undeflife  
       2019-07-01 22:17:13 +08:00
    @luoway 我引用的答案就是回答了这一问题。存在 xss 漏洞时,localStorage 会暴露,只不过是结合 jwt 和 csrf 说明的。

    头像是 V2EX 提供随机头像之前的默认头像,站长提供了图片给偏偏喜欢默认头像的人使用...
    coloz
        12
    coloz  
    OP
       2019-07-02 15:25:28 +08:00
    @undeflife 我前端适用 angular 开发,是不是理论上就不会有 XSS 风险?
    undeflife
        13
    undeflife  
       2019-07-02 15:34:13 +08:00
    @coloz 你是指 Angular 里的 SCE ?细节不太了解,不过我认为框架也没法避免不动脑子的作死,不是用了框架了一劳永逸了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2468 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:12 · PVG 10:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.