嵌入到iframe中的外部商店使用Cookie-如果用户阻止了第三方Cookie,是否可以?

菲利普·克拉森

假设您必须使用iframe将网上商店集成到我们自己的网站中。另一家商店使用Cookie,并且如果其Cookie被阻止,则无法运行。

如果用户阻止了第三方Cookie,该怎么办?

如果用户使用Internet Explorer,则设置P3P标头可以解决此问题。但是,其他主要浏览器不支持P3P。

因此,经过一些研究和实验,我意识到不可能使其在所有其他浏览器上都能工作。(尽管我只能使用Firefox和Chrome进行测试。)

据我了解,Mozilla自2013年以来严格执行了第三方Cookie设置:http//webpolicy.org/2013/02/22/the-new-firefox-cookie-policy/

关于iframe中第三方Cookie的许多文章是在2013年之前撰写的。我认为它们仍然无效。一些消息来源声称您至少有权访问现有的Cookie。根据我的实验,甚至不再如此。

我的结论正确吗:

  • 确实无法再解决浏览器设置了吗?
  • 换句话说,推荐的解决方案是否只是告诉用户允许第三方Cookie?

如果我错了,我会很高兴听到这一消息。:-)

我必须澄清的是,如果解决方案涉及需要集成的网上商店中的某些更改,则可以。因此,您可以假设商店的运营商会为您提供帮助(当然,除非花费了不切实际的时间和资源)。


旁注:我找到了一些可能的替代方法,但是它们的实现和操作非常昂贵。例如,您可以将所有流量通过同一域上的代理服务器重定向到外部商店(这样,cookie再次成为第一方)。我读过的另一个解决方案是用本地存储替换cookie,但这说起来容易做起来难。


如果您想重现该问题,请使用以下最小示例(使用www.mercateo.co.uk):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<title></title></head><body><h1></h1>

<p>Begin iframe</p>

<iframe width="100%" height="100%" frameborder="0" align="left" scrolling="auto" marginheight="0" marginwidth="0" id="iframe" src="http://www.mercateo.co.uk/basket/view?cookieTest=true" style="height: 586px;"></iframe>

<p>End iframe</p>
</body></html>

如果第三方cookie被阻止,它将重定向到错误页面,显示“您的浏览器不接受cookie”。在Chrome和Firefox上进行了测试。

菲利普·克拉森

不,没有适用于每种浏览器的通用解决方案。IE和Safari有解决方法,而Firefox和Chrome没有解决方法。

让我们分解一下:

1. Internet Explorer

是的,可以使用P3P协议(隐私首选项项目平台)设置第三方Cookie

要实现此功能,嵌入iframe的商店可以设置“ P3P HTTP响应标头”,例如:

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"

CP代表“紧凑政策”。“ CP”的内容在P3P规范中进行了描述您还需要部署一个完整的P3P隐私政策所描述的这篇文章中

这是有争议的,因为浏览器无法验证信息是否正确。它必须信任发送者。引用维基百科

使用P3P发生的一个关键问题是缺乏强制执行。因此,对P3P用户的承诺可能无法兑现。尽管通过使用P3P,公司/网站向网站的用户保证了隐私和使用收集到的数据的权利,但是如果公司决定将信息用于其他功能,则没有真正的法律后果。

结果,没有其他主流浏览器实现P3P。

2. Safari(包括iOS设备)

是的,可以访问和修改第三方Cookie。尽管通常Safari不允许您设置第三方Cookie,但它允许访问已经存在的第三方Cookie。

请注意,Safari默认情况下会阻止第三方Cookie。在Firefox和Chrome中,用户必须主动更改浏览器的cookie设置。

3. Firefox和Chrome

不可以,如果用户决定阻止第三方Cookie,则无法解决。

这两个浏览器都遵循用户的cookie设置。最后,它总是在隐私和便利之间进行权衡。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

第三方Cookie,以检查浏览器是否默认将其阻止

来自分类Dev

如果我热链接/嵌入非脚本资源,第三方站点是否可以通过我的站点设置 cookie?

来自分类Dev

如果禁用了第三方cookie,facebook javascript / php SDK的“对话”是否可以?facebook-> getUser()返回0

来自分类Dev

如果禁用了第三方cookie,facebook javascript / php SDK的“对话”是否可以互相进行?facebook-> getUser()返回0

来自分类Dev

使用jquery cookie的第三方cookie

来自分类Dev

在Google Chrome上阻止了第三方Cookie,但我仍然可以看到正在设置的3p Cookie

来自分类Dev

网站可以做些什么来整合第三方Cookie

来自分类Dev

网站可以做些什么来整合第三方Cookie

来自分类Dev

是否可以在第三方网站中嵌入Google网络应用程序?

来自分类Dev

Chrome扩展程序和Django:验证是否允许第三方Cookie

来自分类Dev

Chrome扩展程序和Django:验证是否允许第三方Cookie

来自分类Dev

为Android WebView启用第三方Cookie

来自分类Dev

第三方Cookie和Google OAUTH

来自分类Dev

第三方登录是否可以在iframe中使用?

来自分类Dev

第三方登录是否可以在iframe中使用?

来自分类Dev

Ubuntu 19.10 上的 Chrome 正在阻止所有网站的 cookie 和第三方 cookie

来自分类Dev

如果不使用第三方库,URLSession是否需要获取远程数据?

来自分类Dev

是否可以从第三方.apk中删除AOT程序集?

来自分类Dev

没有第三方软件,是否可以在Windows 8中挂载ISO映像?

来自分类Dev

是否可以通过Paypal移动SDK使用折扣并向第三方付款?

来自分类Dev

如果禁用了第三方插件Cookie,则白名单特定的chrome扩展名可以访问本地存储

来自分类Dev

使用第三方 CSS 是否危险?

来自分类Dev

是否可以使用Elm的std库裁剪Element?如果没有,是否有为此的第三方库?

来自分类Dev

是否可以使用Elm的std库裁剪Element?如果不是,是否有为此的第三方库?

来自分类Dev

如果我禁用了第三方Cookie,如何允许在YouTube(通过Google+)中发表评论?

来自分类Dev

JavaScript-是否可以修改第三方脚本(外部托管)使用的setInterval / setTimeout的行为

来自分类Dev

使用第三方控件

来自分类Dev

使用第三方控件

来自分类Dev

第三方库的使用

Related 相关文章

  1. 1

    第三方Cookie,以检查浏览器是否默认将其阻止

  2. 2

    如果我热链接/嵌入非脚本资源,第三方站点是否可以通过我的站点设置 cookie?

  3. 3

    如果禁用了第三方cookie,facebook javascript / php SDK的“对话”是否可以?facebook-> getUser()返回0

  4. 4

    如果禁用了第三方cookie,facebook javascript / php SDK的“对话”是否可以互相进行?facebook-> getUser()返回0

  5. 5

    使用jquery cookie的第三方cookie

  6. 6

    在Google Chrome上阻止了第三方Cookie,但我仍然可以看到正在设置的3p Cookie

  7. 7

    网站可以做些什么来整合第三方Cookie

  8. 8

    网站可以做些什么来整合第三方Cookie

  9. 9

    是否可以在第三方网站中嵌入Google网络应用程序?

  10. 10

    Chrome扩展程序和Django:验证是否允许第三方Cookie

  11. 11

    Chrome扩展程序和Django:验证是否允许第三方Cookie

  12. 12

    为Android WebView启用第三方Cookie

  13. 13

    第三方Cookie和Google OAUTH

  14. 14

    第三方登录是否可以在iframe中使用?

  15. 15

    第三方登录是否可以在iframe中使用?

  16. 16

    Ubuntu 19.10 上的 Chrome 正在阻止所有网站的 cookie 和第三方 cookie

  17. 17

    如果不使用第三方库,URLSession是否需要获取远程数据?

  18. 18

    是否可以从第三方.apk中删除AOT程序集?

  19. 19

    没有第三方软件,是否可以在Windows 8中挂载ISO映像?

  20. 20

    是否可以通过Paypal移动SDK使用折扣并向第三方付款?

  21. 21

    如果禁用了第三方插件Cookie,则白名单特定的chrome扩展名可以访问本地存储

  22. 22

    使用第三方 CSS 是否危险?

  23. 23

    是否可以使用Elm的std库裁剪Element?如果没有,是否有为此的第三方库?

  24. 24

    是否可以使用Elm的std库裁剪Element?如果不是,是否有为此的第三方库?

  25. 25

    如果我禁用了第三方Cookie,如何允许在YouTube(通过Google+)中发表评论?

  26. 26

    JavaScript-是否可以修改第三方脚本(外部托管)使用的setInterval / setTimeout的行为

  27. 27

    使用第三方控件

  28. 28

    使用第三方控件

  29. 29

    第三方库的使用

热门标签

归档