2012-04-08 46 views
9

我想找到一種方法來在Safari中的iframe中設置cookie。 Safari的政策是不允許iframe設置cookie,除非用戶點擊iframe中的某些內容。在Safari中的iframe中設置第三方cookie的技術是否仍然有效?

我已經通過#2和其他物品的問題/答案讀出。這裏有一些鏈接:

他們的技術的都不在話下變化,以實現這一目標。基本的想法是創建一個表單元素,並通過JavaScript調用或通過用戶單擊按鈕來提交POST請求。發送POST請求後,Safari會認爲用戶已與該站點進行交互,然後允許設置Cookie。

我做了一些嘗試來實現這種技術。我失敗了。

我發現,在華爾街日報談到谷歌如何利用這種技術來他們的+1按鈕放置到其DoubleClick廣告的文章(http://online.wsj.com/article/SB10001424052970204880404577225380456599176.html)。文章還引用Anant Garg的博客文章(上面的鏈接)介紹如何解決這個限制。

下面是文章報價:

爲了繞開Safari的默認攔截,谷歌開發瀏覽器的隱私設置的一個漏洞。雖然Safari確實阻止了大部分的跟蹤,但它以某種方式與某個人進行交互的網站例外 - 例如填寫表單。所以谷歌在其一些廣告中加入了編碼,這讓Safari認爲一個人正在向Google提交一種不可見的形式。 Safari會讓Google在手機或電腦上安裝一個cookie。

另一句名言:

蘋果公司官員說:「我們正在努力,以制止」來的Safari瀏覽器隱私設置的規避。

我正在使用2012年3月26日發佈的Safari 5.1.5。WSJ文章發佈於2012年2月17日。是否有可能Apple已更改Safari,以便此解決方法不再有效?任何人都可以確認這項技術適用於Safari 5.1.5嗎?

+0

[Safari第三方Cookie iframe技巧不再可能重複?](http://stackoverflow.com/questions/9930671/safari-3rd-party-cookie-iframe-trick-no-longer-working) – philfreo 2013-05-30 18:06:35

回答

7

看到這個線程:Safari 3rd party cookie iframe trick no longer working?

Safari瀏覽器已經執行了cookie的政策,5.1.4。

+0

這是否意味着無法通過任何方式在Safari上的iframe的跨域頁面上設置cookie? – Eydun 2012-05-09 11:20:44

+1

是的。用戶必須與*進行交互,並且只能在域匹配時設置cookie。 我目前的解決方法:http://www.reizbombardement。de/archives/safari-5-1-4-enforces-cookie-policy – vwoelm 2012-05-09 12:07:57

+1

如果您控制了這兩個域,則可以將用戶引導到域b,設置cookie,然後將用戶引導回域a。 Safari會在已設置的iframe中傳遞一個cookie,但您不能創建新的cookie。 – 2013-02-24 16:05:52