11

我正在尝试找到一种在 Safari 的 iframe 中设置 cookie 的方法。Safari 的政策是不允许 iframe 设置 cookie,除非用户单击 iframe 中的某些内容。

我已阅读有关 Stackoverflow 和其他文章的问题/答案。以下是一些链接:

他们都提到了实现这一目标的技术变体。基本思想是创建一个表单元素并使其通过 JavaScript 调用或通过用户单击按钮来提交 POST 请求。一旦发送了 POST 请求,Safari 就会认为用户已经与站点进行了交互,然后允许设置 cookie。

我做了一些尝试来实现这种技术。我失败了。

我在《华尔街日报》上找到了一篇文章 ( http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html ),其中谈到了 Google 如何使用这种技术将他们的 +1 按钮放入他们的 DoubleClick 广告中。这篇文章还引用了 Anant Garg 的博客文章(上面的链接)关于如何解决这个限制。

这是文章的引述:

为了绕过 Safari 的默认拦截,谷歌利用了浏览器隐私设置中的漏洞。虽然 Safari 确实阻止了大多数跟踪,但它对人们以某种​​方式与之交互的网站(例如,通过填写表格)进行了例外处理。因此,谷歌在其一些广告中添加了编码,使 Safari 认为有人正在向谷歌提交不可见的表单。然后 Safari 会让谷歌在手机或电脑上安装一个 cookie。

另一个引用:

一位苹果官员表示:“我们正在努力制止”绕过 Safari 隐私设置的行为。

我正在使用 2012 年 3 月 26 日发布的 Safari 5.1.5。《华尔街日报》的文章于 2012 年 2 月 17 日发布。Apple 是否有可能更改了 Safari,使这种解决方法不再有效?谁能确认这种技术适用于 Safari 5.1.5?

4

1 回答 1

9

请参阅此线程:Safari 3rd 方 cookie iframe 技巧不再起作用?

Safari 已在 5.1.4 中强制执行其 cookie 策略。

于 2012-04-10T08:49:22.583 回答