2012-02-07 107 views
0

我想了解Facebook插件背後的原理。 據我所知,他們設置一個cookie,當你登錄,然後當你訪問一個網站與他們的插件安裝,他們abel識別你的userId ..如何在iframe中設置cookie? Facebook cookies如何工作?

我試圖做我自己的一對夫婦不同域的我有,但我不知道從哪裏開始實際...

我設置cookie測試時,我訪問site1.com與價值

隨機ID但後來當我訪問站點2。我該怎麼辦?我可以讀取包含我的ID的前一個cookie嗎?

回答

1

當您在site1.com中設置Cookie時,只要訪問者訪問site1.com,cookie就會發送到此網站。根本沒有涉及site2.comsite.com不能也不應該能夠接收由site1.com設置的cookie。

如果你在設計一個頁面,使得用戶訪問site2.comsite2.com網頁包含加載site1.com,那麼被site1.com前面設置cookie會當它試圖加載它自動發送到site1.com一個IFRAME在這個IFRAME。

另外,請注意,這些東西通常不會用JavaScript來完成。某些類型的服務器端腳本(如PHP,ASP.NET,Django等)用於設置和讀取客戶端發送的Cookie。在用戶的瀏覽器中設置一個cookie涉及在由服務器端腳本生成的HTTP響應中添加一個「Set-Cookie」頭。在PHP中,這可以使用setcookie()完成。一旦在瀏覽器中設置了cookie,當用戶在cookie過期之前再次訪問相同的網站時,瀏覽器將Cookie作爲「Cookie」標頭髮送。服務器端腳本現在可以讀取這個cookie。在PHP中,Cookie可用於$_COOKIE變量。