所以这是"我如何让第三方cookie在Safari中工作"的第十五次复仇,但我再次提问,因为我认为比赛场地已经发生了变化,可能是在2012年2月之后.获得第三名的标准技巧之一Safari中的派对cookie如下:使用一些javascript POST到隐藏的iframe.它(曾经)欺骗Safari认为用户已经与第三方内容进行了交互,因此允许设置cookie.
我认为这个漏洞已经在温和的丑闻之后被关闭,据透露谷歌正在利用其广告中的这一技巧.至少,在使用这个技巧时,我完全无法在Safari中设置cookie.我发现了一些随机的互联网帖子,声称Apple正在努力弥补漏洞,但我还没有发现任何官方消息.
作为后备,我甚至尝试重新设计主要的第三方框架,以便在内容加载之前必须单击按钮,但即使是这种级别的直接交互也不足以融化Safari冷酷的心脏.
那么有人确切知道Safari是否确实关闭了这个漏洞?如果是,是否有其他解决方法(除了在每个请求中手动包含会话ID)?
我试图找到一种方法在Safari中的iframe中设置cookie.Safari的政策是不允许iframe设置Cookie,除非用户点击iframe中的内容.
我已阅读Stackoverflow和其他文章的问题/答案.以下是一些链接:
他们都提到了实现这一目标的技术变体.基本思想是创建一个表单元素,并通过JavaScript调用或通过用户单击按钮提交POST请求.发送POST请求后,Safari会认为用户已与该站点进行了交互,然后允许设置Cookie.
我做了几次尝试来实现这种技术.我失败了.
我在华尔街日报上发现了一篇文章(http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html),该文章讨论了谷歌如何使用这种技术将+1按钮放入他们的DoubleClick广告中.文章还引用了Anant Garg关于如何解决限制的博客文章(上面的链接).
这是文章的引用:
为了解决Safari的默认阻止问题,谷歌在浏览器的隐私设置中利用了一个漏洞.虽然Safari确实阻止了大多数跟踪,但它对于某个人以某种方式与之交互的网站例外,例如填写表单.因此,Google为其部分广告添加了编码功能,这使得Safari认为某个人向Google提交了一个隐形表单.然后,Safari会让Google在手机或计算机上安装Cookie.
另一个引用:
一位苹果官员说:"我们正在努力制止"绕过Safari隐私设置.
我正在使用2012年3月26日发布的Safari 5.1.5."华尔街日报"的文章于2012年2月17日发布.苹果公司是否有可能改变了Safari,以便这种解决方法不再有效?任何人都可以确认这项技术适用于Safari 5.1.5吗?