2010-04-26 119 views
1

我在一個域上使用命令::Cookie沒有得到跟蹤爲什麼?

setcookie(「cookiename」,「cookievalue」,time()+ 86400,「/」,「domain1.com」);

在其他領域,我用一個像素代碼

<img src="http://domain1.com/?action=trackcookie" width=1 height=1 /> 

該網址無法讀取Cookie,但能夠在同一個URL時,它被直接調用讀取Cookie。當我把htat url作爲像素代碼放在其他域上的時候。它無法讀取價值。

這可能是什麼問題?

最好的問候, 薩蒂什南比亞Kalepu

你好,是的,我已經檢查的HttpWatch和螢火蟲也..

http://www.domain1.com/tracking.php?action=setcookie 該URL把餅乾:

Set-Cookie topinno=1; expires=Tue, 27-Apr-2010 09:24:16 GMT; path=/ 
Set-Cookie newkhan=%3A+2010-04-26+14%3A54; expires=Thu, 06-May-2010 09:24:16 GMT; path=/ 

上DOMAIN2這個網址被稱爲:在iframe標籤..

http://www.domain1.com/tracking.php?leadno=CREATEDLEADNO&city=CITYOFTHELEAD

那麼那些餅乾不會來...

但是當我直接調用相同的url。再次,我能夠看到在請求中的Cookie:

PHPSESSID=diebgrgusqofs2gckahu2nbm04; topinno=1; newkhan=%3A+2010-04-26+14%3A54; __utma=97007629.526966387.1270733785.1272261298.1272265835.45; __utmz=97007629.1270733785.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) 
+0

重新更新:是?博比和我解釋了爲什麼會發生。 – Quentin 2010-04-26 09:45:30

回答

0

Cookies是每個基於域的,你不能做到,在另一個領域。

如果你在同一個域中,expires after two days應該是"expires after two days"你缺少引號,或者它應該是以秒爲單位的數字。

+0

Ofcourse。我在同一個域上使用它... 1.將cookie放在domain1.com上。在其他domain2.com上放置了一個像素代碼,該代碼從domain1.com加載圖像..但該圖像請求無法看到cookie。 – 2010-04-26 08:22:27

+0

您可以使用螢火蟲進行調試嗎? cookie是否在客戶端正確接收/設置? – YOU 2010-04-26 08:27:31

+0

有一個名爲FireCookie的Firebug/Firefox擴展。這可能有幫助 – Shiki 2010-04-26 08:29:27

0

爲了保護隱私,許多瀏覽器都會阻止來自不同域的cookies到頁面本身。

0

許多瀏覽器可選穿上「第三方cookie」的限制,即通過從不同的主機名比主網頁地址資源服務設置cookie。用戶討厭跟蹤信標;你不應該依賴他們總是工作。

特別是對於IE的默認設置,您必須create a P3P政策承諾會很好,否則瀏覽器將拒絕允許第三方cookie。

More background