2010-04-26 91 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