iframe没有在Chrome中读取Cookie

时间:2017-07-14 04:37:52

标签: javascript google-chrome iframe cookies cross-domain

Chrome不允许儿童iframe阅读自己的Cookie。

我有一个包含子iframe的父网页:

  • 父母https://first-site.com
  • <iframe src="https://second-site.com">(父母内部)的孩子
  • Cookie设置为
    • 路径:&#39; /&#39;
    • secure:true
    • httpOnly:false
    • 域名:&#39; .second-site.com&#39;

我控制了两个网站,我希望iframe在iframe中执行需要读取.second-site.com的Cookie的操作。外部父母不需要知道任何关于此的事情。

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

Chrome根本没有让子页面为孩子提供自己的Cookie。

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

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

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

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

1 个答案:

答案 0 :(得分:8)

我的服务器自动设置了一个名为-m的相对较新的cookie属性。禁用此功能(同时保留问题中列出的设置)允许iframe访问Chrome中自己的Cookie。

另见Chrome feature status&amp; IETF draft

相关问题