第一方cookie和第三方cookie

第一方cookie指的是访客当前访问的网站给访客的浏览器设置的cookie, 会被存储在访客的计算机上。假设一个访客正在访问京东的网站:www.360buy.com, 那么在访客的计算机上就会出现以下的临时文件:

第三方cookie指的是当前访问的网站中会加载另外第三方的代码,例如促销广告,那么第三方也会在访客的计算机上添加cookie,这种就是第三方cookie。例如访问新浪微博,京东的广告出现了,那么京东有可能就会在访客的计算器上添加这个cookie文件, 京东就属于第三方。一些咨询机构,例如Hitwise,Comscore的数据来源一般是这种。

第一方跟第三方cookie比较起来是比较安全的,因为它不会监测网站的其他访问行为,理论上来讲,对于信息的泄露也就少很多。

说明:Google Analytics使用的是第一方cookie,这也就是谷歌经常说自己不作恶的原因。

以下是Google Analytics中常用的cookie:

Cookie名称 持续时间 目的
_utma 24个月 存储域名,访客ID,访问时间戳,访问次数
_utmb 30分钟 会话ID,用来鉴别会话是否过期
_utmc 30分钟 用来兼容urchin.js; 异步跟踪代码已不再使用
_utmv 24个月 存储自定义变量
_utmz 6个月 存储活动变量,例如媒介,关键词

以上内容来自:深圳网站分析 http://www.szwebanalytics.com/first-three-party-cookie.html


何为第三方cookie呢,简单来说,就是用户当前浏览的页面上有通过IFRAME、IMG或script等标签嵌入另外一个域名的链接地址,该链接设置的cookie就称为第三方cookie,当前页面设置的cookie为第一方cookie。由于隐私保护的问题,现在主流的浏览器默认是不允许写入第三方cookie的,但是只要在相应的Header信息设置了P3P,第三方cookie还是能正常的写入的。

例如在php中通过下面的代码就能正确的写入一个名为thirdcookie的cookie。

header(‘P3P: CP=”CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR”‘);

header(“Set-Cookie: “thirdcookie=cookievalue;domain=.youdomian.com;path=/;expires=” . gmstrftime(“%A, %d-%b-%Y %H:%M:%S GMT”, time() + (86400 * 365 * 3)));

需要注意的是即使设置了P3P,只有通过服务器端的操作才能写入cookie,客户端方用javascript的方法也依然无法写入cookie,而且在IE6下javascript也无法读取到第三方cookie。关于javascript读写cookie的详细信息,请参阅 javascript读写cookie实例 

以上内容来源:http://www.netingcn.com/web-thirdparty-cookie.html

你可能感兴趣的:(php的学习之路)