tousfun

小白请教, cookie 的 domain 不允许设置跨站的域名,那为什么能在 chrome 的 application tab 中看到第三方 cookie?

  •  
  •   tousfun · Oct 1, 2021 · 2281 views
    This topic created in 1698 days ago, the information mentioned may be changed or developed.

    图一是我在taobao.com 下发现的一些第三方 cookie 。图二是访问taobao.com时发送的一个跨域请求,响应头中set-cookiedomain=.mmstat.com。所以为什么这个 cookie 能成功设置呢?

    图一

    图二

    5 replies    2021-10-02 05:54:05 +08:00
    coolan
        1
    coolan  
       Oct 2, 2021
    有点兴趣,稍微查了查,其实你都知道第三方 cookie 这个词了,那就很多资料了。这个 cookie 是用 javascript 前端直接请求 mm.stat.com 的这个第三方地址,通过响应来 set 的,并没有跨域。因为它并没有请求 taobao.com 来响应 set 一个 mm.stat.com 的 cookie 。 另外 https://zhuanlan.zhihu.com/p/131256002 可能有帮助。多查查,很多资料。
    tousfun
        2
    tousfun  
    OP
       Oct 2, 2021 via iPhone
    @coolan 也就是说 cookie 的 domain 不允许设置跨站的域名, 这个 domain 的域名是相对于这个 http 请求的域名来说的,而不是相对于我当前浏览的页面网址来说的。 所以说,mmstat.com 请求后端返回的 cookie domain 是 mmstat 这并没有跨站
    eason1874
        3
    eason1874  
       Oct 2, 2021
    我这里不能复现,Chrome 拦截了 mmstat 的请求,提示:Cross-Origin Read Blocking (CORB) 已屏蔽 MIME 类型为 application/json 的跨域响应

    我怀疑是你在 Chrome 设置了允许第三方,也可能是扩展行为,你用无扩展的无痕窗口测试下。
    coolan
        4
    coolan  
       Oct 2, 2021 via Android
    cookie 有两种设置方式,由服务器设置时,服务器网页的 URL 跟响应的 cookie 里的 domain 不能跨域;通过前端页面 js 设置时,前端页面 URL 跟 cookie 的 domain 也不可以跨域。
    muzuiget
        5
    muzuiget  
       Oct 2, 2021
    那个并不是“跨域请求”,而是用 script/style/img 标签这种方式引用第三方资源。

    比如 A 和 B 两个网站都用 script 标签引用的百度的广告 js 文件,百度就能通过第三方 cookie 知道你访问了 A 后又访问了 B,然后就可以跟踪你了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3163 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:40 · PVG 20:40 · LAX 05:40 · JFK 08:40
    ♥ Do have faith in what you're doing.