gpt4 book ai didi

javascript - iframe 不读取 Chrome 中的 cookie

转载 作者:数据小太阳 更新时间:2023-10-29 05:07:06 24 4
gpt4 key购买 nike

Chrome 不允许子 iframe 读取自己的 cookie。

我有一个带有子 iframe 的父网页:

  • parent 在 https://first-site.com
  • child 在 <iframe src="https://second-site.com"> (父级内部)
  • cookie 设置为
    • 路径:'/'
    • 安全:正确
    • httpOnly:假
    • 域名:'.second-site.com'

我控制这两个站点,我希望 iframe 在 iframe 中执行需要读取 cookie 的操作 .second-site.com .外部父级不需要知道任何相关信息。

它适用于除 Chrome 之外的所有浏览器。

Chrome 根本不让子页面自己的 cookie 可供 child 使用。

在其自己的窗口中访问子页面并执行该操作适用于所有浏览器,包括 Chrome。

我已经在所有排列中尝试了这两个选项:

  • 设置secure:falsesecure:true为了 cookies
  • 设置sandbox="allow-same-origin allow-scripts"对于 iframe,或删除 sandbox属性

Chrome 有何不同之处?Chrome 中的 iframe 如何访问自己的 cookie?

最佳答案

有一个相对较新的 cookie 属性,称为 SameSite那是由我的服务器自动设置的。禁用此功能(同时保留问题中列出的设置)允许 iframe 在 Chrome 中访问它自己的 cookie。

另见 Chrome feature status & IETF draft

2020 年 8 月更新

Chrome 现在阻止没有 SameSite 的 cookie设置,因此您需要将其显式设置为 samesite=nonesecure=true .

关于javascript - iframe 不读取 Chrome 中的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45094712/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com