即使使用 P3P 标头,也无法在 IE 的 IFRAME 中设置 cookie

     2023-03-10     118

关键词:

【中文标题】即使使用 P3P 标头,也无法在 IE 的 IFRAME 中设置 cookie【英文标题】:Cannot set cookies in IFRAME in IE, even with P3P header 【发布时间】:2011-08-29 05:56:27 【问题描述】:

我在这里看到了很多关于如何让 cookie 在 IE 中的 iframe 中工作的帖子,并且我尝试了几种解决方案,但到目前为止都没有运气。这是我正在处理的问题:

我有一个通过 Javascript 在客户网站上创建的 iframe(一个小部件)。我无法控制客户的网站。我需要设置 cookie 以使用户在 iframe 中保持登录状态,它适用于 Chrome 和 Firefox,但不适用于 IE 7/8。我没有测试过 IE 6,但我认为它也有同样的问题。

我使用 IBM 的策略编辑器创建了一个 P3P 策略,编辑器说紧凑策略在 IE 的安全性下是可以接受的,无论它设置为低、中还是高。我使用的CP是:

P3P: policyref="/w3c/p3p.xml" CP="CAO DSP COR CURa ADMa DEVa PSAa PSDa CONi TELi OUR IND PHY ONL UNI COM NAV INT DEM CNT PRE"(我尝试了其他几个人们认为有效的 CP,但结果没有任何差异。)

网络服务器 (NGINX) 正在使用 每个 文件提供此 P3P 标头。我不是从代码中提供它。

p3p.xml 文件存在且与压缩策略匹配。 p3p.xml 使用 W3C P3P 验证器进行验证。

即使使用 P3P 标头(无论我尝试了哪一个),IE 都会在底部的状态栏中给我“邪恶的眼睛”,并且不会让我设置 cookie。它们在隐私报告中显示为已阻止。

我阅读了 Piskvor 关于这个主题的 SO 帖子:Cookie blocked/not saved in IFRAME in Internet Explorer,但我无法重现他在演示网站上所做的事情:http://newmoon.wz.cz/test/page.php?send_p3p=1。我认为这是因为我得到了邪恶的眼睛而他没有。我已经完成了我所读到的一切作为摆脱邪恶的建议,但它仍然存在。嘲笑我。

如果你想试试我的测试页面:http://truelike.com/js/bobs/frametest.php设置/读取页面在 iframe 外部查看时工作正常,但在使用 IE 时根本无法在内部工作。

作为参考,我在后端使用 PHP。

任何帮助都将不胜感激 - 我们在这里变得绝望。

谢谢!

【问题讨论】:

【参考方案1】:

nginx 0.8.20 的变化 错误修正:“Set-Cookie”和“P3P”FastCGI 响应标题行是 如果没有“fastcgi_hide_header”指令,则在缓存时不隐藏 与任何参数一起使用。

Nginx Changes log

【讨论】:

【参考方案2】:

所以,我自己解决了这个问题。看起来问题出在 NGINX 的 HTTPUserIDModule (http://wiki.nginx.org/HttpUserIdModule) 上。我一直在使用它来发送 P3P 标头,但是 nginx 没有一致地发送标头,可能是由于他们文档中的这一行:

指令为标题分配值 P3P,将与发送 饼干。

我在使用 curl 或 lynx 检查时看到了标头,但在使用 Firebug 或 Charles 检查时却没有。也许有一个配置选项可以解决这个问题,但我找不到它。

无论如何,如果您将标头指令拉出 HTTPUserIdModule 并在代码中手动发送标头,它就可以工作。如果您使用 HTTPHeadersModule http://wiki.nginx.org/HttpHeadersModule 手动发送标头,它可能会起作用,但我尚未对此进行测试。

一旦它通过代码工作,我发现我不需要所有文件的标题 - 仅在文件设置/获取 cookie 上使用它就足够了,这与我看到的许多建议相反。

此外,我的 CP 显然过于咄咄逼人,尽管 IBM 的政策编辑说没关系。我使用了一个更基本的 CP,并且效果很好。

【讨论】:

您是仅使用紧凑策略还是同时使用 p3p.xml 文件?你能说一下你在哪个网站上使用了这个政策吗?对于具有中等安全性和 p3p 策略的 IE8,我已经有一段时间了。 我只使用了compact策略,具体来说:header('P3P: CP="CAO PSA OUR"'); 我会试试的。用户登录需要使用cookies吗? 是的,除此之外,我愿意。

P3P 政策无法在 IE 中允许 3rd 方 cookie

...个网站,它必须能够在框架内运行并设置cookie。在IE中,使用默认安全设置,这是一个问题,因为框架站点的cookie被视为第三方。现在,我已经阅读了有关P3P的所有 查看详情

即使设置了标头,也无法验证 CSRF 令牌的真实性 Rails 4 Ajax

】即使设置了标头,也无法验证CSRF令牌的真实性Rails4Ajax【英文标题】:Can\'tverifyCSRFtokenauthenticityRails4Ajaxevenwhenheaderisset【发布时间】:2014-12-1404:48:36【问题描述】:我真的遇到了麻烦,在这种情况下,我既不想跳过verify_authentici... 查看详情

即使放入标头c ++也无法内联函数

】即使放入标头c++也无法内联函数【英文标题】:Unabletoinlinefunctionsevenifputinheaderc++【发布时间】:2012-03-2020:26:31【问题描述】:内联成员函数时遇到问题。我的代码如下:Main.cpp#include"Foo.h"int_tmain(intargc,_TCHAR*argv[])Foofoo;inta=foo.myI... 查看详情

IE CORS - 即使指定了标头,访问控制允许标头错误

】IECORS-即使指定了标头,访问控制允许标头错误【英文标题】:IECORS-Access-Control-Allow-Headerserroreventhoughheadersarespecified【发布时间】:2019-01-2205:52:48【问题描述】:我目前在网页上向API端点提交AJAX请求,该端点在Chrome和Firefox中有... 查看详情

GAE 上的 p3p 标头(Google App Engine)

...间】:2011-04-0802:05:26【问题描述】:我正在尝试通过IFRAME使用GoogleAppEngine登录。它在Firefox、Chrome、Opera等上运行良好。由于“p3p”问题,IE出现问题。问题是我找不到为自动/_ah/openid_verify?continue=....请 查看详情

即使触发了 hasLayout,CSS 不透明度也无法在 IE7 或 IE8 中工作

】即使触发了hasLayout,CSS不透明度也无法在IE7或IE8中工作【英文标题】:CSSOpacitynotworkinginIE7orIE8evenwithhasLayouttriggered【发布时间】:2012-02-0219:26:42【问题描述】:我有这个幻灯片,悬停时会弹出一个叠加层,您可以查看它here。只... 查看详情

即使在发送 CORS 标头后从浏览器发送请求到播放服务器时也出现 CORS 错误

】即使在发送CORS标头后从浏览器发送请求到播放服务器时也出现CORS错误【英文标题】:CORSerrorwhilesendingrequestfromBrowsertoplayserverevenaftersendingCORSheader【发布时间】:2018-09-1014:35:21【问题描述】:我有一个使用PlayFramework/Java开发的RE... 查看详情

错误 C3861:即使在标头中有函数也找不到“解密”

】错误C3861:即使在标头中有函数也找不到“解密”【英文标题】:ErrorC3861:\'decrypt\'notfoundevenwithfunctioninheader【发布时间】:2014-04-1901:38:11【问题描述】:我的代码加载了一个加密的文本文件,这个文本文件的第一行是一个密码... 查看详情

即使返回的内容具有标头 Content-Type:text/html; Chrome 开发工具也无法显示响应字符集=UTF-8

】即使返回的内容具有标头Content-Type:text/html;Chrome开发工具也无法显示响应字符集=UTF-8【英文标题】:ChromedevtoolsfailstoshowresponseeventhecontentreturnedhasheaderContent-Type:text/html;charset=UTF-8【发布时间】:2016-12-1920:54:38【问题描述】:当返... 查看详情

IE、P3P、IFrame 和阻止的 cookie(在页面主机页面请求个人信息之前有效)

】IE、P3P、IFrame和阻止的cookie(在页面主机页面请求个人信息之前有效)【英文标题】:IE,P3P,IFrameandblockedcookies(worksuntilpagehostpagehaspersonalinformationrequested)【发布时间】:2010-11-0305:27:11【问题描述】:我的公司有一个可以插入购物... 查看详情

ie兼容模式:'x-ua兼容'标签'edge'(代码片段)

...。对于许多业务应用程序来说这是一个很大的问题,因为即使使用这个元标记,程序员也无法覆盖此选项。(“CompatitiblityView中显示Intranet站点”不能被元标记或http标头覆盖-在这种情况下,浏览器完全控制兼容性视图)始终添... 查看详情

即使请求标头中包含正确的 x-csrf-token,也不要在 Ajax 帖子上设置 current_user

】即使请求标头中包含正确的x-csrf-token,也不要在Ajax帖子上设置current_user【英文标题】:Devisenotsettingcurrent_useronAjaxposteventhoughcorrectx-csrf-tokenisincludedinrequestheader【发布时间】:2011-11-1516:05:50【问题描述】:使用:导轨3.0.7设计1.4.... 查看详情

SVG 无法在 IE 中呈现

...它在除InternetExplorer之外的所有浏览器中都能正确呈现。即使是具有内置SVG支持的较新版本的IE(9+)也不会呈现徽标。我正在使用以下标记<metahttp-equiv="X-UA-Compatible 查看详情

即使响应包含 ajax 请求的“Set-Cookie”标头,cookie 也不会存储在浏览器中

】即使响应包含ajax请求的“Set-Cookie”标头,cookie也不会存储在浏览器中【英文标题】:cookienotstoredonbrowserevenifresponsecontains\'Set-Cookie\'headerforajaxrequest【发布时间】:2018-11-1609:00:07【问题描述】:。请求代码:functionhitLogin()varlogin... 查看详情

即使在提供静态文件时,仍然设置使用 PHP 设置的 HTTP 标头

】即使在提供静态文件时,仍然设置使用PHP设置的HTTP标头【英文标题】:HTTPheadersetwithPHPisstillsetevenwhenservingstaticfile【发布时间】:2015-11-1111:04:55【问题描述】:好的,这是场景:我使用设置x-pingback标头的Wordpress。我使用了缓存... 查看详情

即使在添加子视图后也无法使用锚添加约束

】即使在添加子视图后也无法使用锚添加约束【英文标题】:Cannotaddconstraintswithanchorsevenafteraddingsubview【发布时间】:2018-08-1611:00:02【问题描述】:我是iOS新手。这是我的代码导致错误。FSImageView*imageView=[_imageViewsobjectAtIndex:(NSUInt... 查看详情

即使在配置后也无法登录到 phpMyAdmin

】即使在配置后也无法登录到phpMyAdmin【英文标题】:CannotlogintophpMyAdminevenafterconfiguration【发布时间】:2012-06-0911:55:12【问题描述】:我刚刚设置了WAMP服务器。我的端口80已经在使用中,所以我更改了Apache的httpd.conf文件中的以下... 查看详情

PHP 标头位置即使在输出缓冲区内也被发送?

】PHP标头位置即使在输出缓冲区内也被发送?【英文标题】:PHPHeaderLocationgetssenteveninsideanoutputbuffer?【发布时间】:2011-09-0116:35:00【问题描述】:我无法从输出缓冲区中抑制PHP位置标头。我的理解是输出缓冲区应该抑制标头,直... 查看详情