【问题标题】:cookie not getting tracked why?cookie 没有被跟踪为什么?
【发布时间】:2010-04-26 08:12:15
【问题描述】:

在一个域上我使用命令为::

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

在其他领域我使用像素代码作为

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

该 url 无法读取 cookie ,但直接调用时相同的 url 能够读取 cookie。当我将 htat url 作为像素代码放在其他域上时。它无法读取值。

这可能是什么问题??

最好的问候, 萨蒂什·卡勒普

嗨,是的,我也检查了 httpwatch 和 firebug..

http://www.domain1.com/tracking.php?action=setcookie 该网址放置cookie:

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 上,此 url 被称为:在 iframe 标记中..

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

那么那些 cookie 就不会来了……

但是当我直接调用相同的 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)

【问题讨论】:

  • 重新更新:是吗? bobince 和我解释了为什么会这样。

标签: php cookies


【解决方案1】:

Cookie 是基于每个域的,您无法在另一个域中执行此操作。

如果您在同一个域中执行此操作,expires after two days 应该是 "expires after two days" 您缺少引号,或者它应该是以秒为单位的数字。

【讨论】:

  • 当然。我在同一个域上使用它... 1. 将 cookie 放在 domain1.com 上。在其他 domain2.com 上放置了一个像素代码,该代码从 domain1.com 加载图像 .. 但该图像请求无法看到 cookie ..
  • 你能用firebug调试吗? cookie 是否在客户端正确接收/设置?
  • 有一个名为 FireCookie 的 Firebug/Firefox 扩展。这可能会有所帮助
【解决方案2】:

许多浏览器选择性地对“第三方 cookie”进行限制,即由不同于主页地址的主机名提供的资源设置的 cookie。用户讨厌跟踪信标;你不应该依赖他们一直在工作。

特别是对于 IE 的默认设置,您必须 createP3P 承诺良好的策略,否则浏览器将拒绝允许第三方 cookie。

More background.

【讨论】:

    【解决方案3】:

    出于隐私原因,许多浏览器会阻止来自不同域的 cookie 访问页面本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      相关资源
      最近更新 更多