• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bojue
V2EX  ›  程序员

请教前端安全问题:前端 Cookie 设置 httpOnly=true 禁止 JS 读取就绝对安全吗

  •  
  •   bojue ·
    nocokit · Jan 3, 2021 · 2813 views
  •   You need to sign in to view this topic
    This topic created in 2052 days ago, the information mentioned may be changed or developed.
    设置 httpOnly 是不是就可以在前端防止 Cookie 泄露,防御伪造请求( CSRF )安全问题。

    网上查阅的资料,在一些浏览器的旧版本上,虽然支持 httpOnly=true 时禁止读取 Cookie,但是没有预防 Cookie 的写入,可以通过重写 Cookie 覆盖 httpOnly = true 的安全设置[未尝试]。

    在现代浏览器环境,是否存在其他方式导致在前端泄露 Cookie
    8 replies    2021-01-03 16:22:52 +08:00
    Mitt
        1
    Mitt  
       Jan 3, 2021
    只要不被中间人,JS 投毒就很安全
    momocraft
        2
    momocraft  
       Jan 3, 2021
    考虑一下想 csrf 的人的视角

    必须泄露才能使用吗? js 不能读取等于 js 不能使用吗?
    bojue
        3
    bojue  
    OP
       Jan 3, 2021
    @Mitt 也就是说 httpOnly 也不安全,通过代理之类的方案可以获取绕开 httpOnly 的设置
    bojue
        4
    bojue  
    OP
       Jan 3, 2021
    @momocraft 你这个角度很棒,比如胖客户端导致认证信息泄露,引发 csrf 。

    但是我现在不能确定 httpOnly 到底能不作为 csrf 的一个方案,确保 cookie 不被获取
    auin
        5
    auin  
       Jan 3, 2021   ❤️ 1
    HttpOnly 能防止 XSS 攻击,但并不能解决 CSRF 问题,防御 CSRF 常用的方法是隐藏表单域存 CSRF token
    bojue
        6
    bojue  
    OP
       Jan 3, 2021
    @liuxey 谢谢,是我搞错了跨站脚本和请求伪造的概念
    YouLMAO
        7
    YouLMAO  
       Jan 3, 2021   ❤️ 2
    httpOnly 禁止 js 读, 不禁止发给服务器, 不预防 CSRF, 而预防 xss
    shakaraka
        8
    shakaraka  
       Jan 3, 2021   ❤️ 1
    答:在现代浏览器环境,还存在打开控制台导致在前端泄露 Cookie
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3918 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 04:21 · PVG 12:21 · LAX 21:21 · JFK 00:21
    ♥ Do have faith in what you're doing.