第三方 Cookie
在访问网站A时,网站A算作第一方,如果网站A中引用了另一个(域名不同的)网站X的资源,这时这个网站X就被认为是第三方。图像、 JavaScript 和 iframe 通常会导致第三方Cookie的生成。
浏览器中第三方Cookie
IE
:默认不接受第三方 Cookie,不过采用 P3P 协议即可Chrome、Firefox
:默认接受,但用户可以选择不接受Safari
:默认会阻止第三方cookie,Safari
认为相同父域名的站点不属于第三方
百度统计对cookie的使用
百度统计是用的第一方cookie+第三方cookie
的方式收集信息的。
名称 | 用途 | 有效期 | 类型 |
---|---|---|---|
HMACCOUNT | Visitor Identifier,全局唯一 | 永久 | 第三方Cookie,hm.baidu.com域 |
Hm_lvt_siteid | 记录访客当前访问序列的开始时间,如果没有设置这个cookie,则访客为新访客。当本次访问是一个新的访问开始时,更新该cookie为当前时间。 | 1年 | 第一方Cookie |
Hm_lpvt_siteid | 当前浏览页面时的时间,每次浏览时设置该cookie为当前时间。 | 1年 | 第一方Cookie |
在百度统计中,以下三条任意一个条件成立,则认为是一个新访次。
- 流量来源(referer)为非本站
- Hm_lpvt_siteid为空
- 服务器端进行计算,一个visit超过30分钟没有流量,结束当前访次
P3P
直接打开页面C会在本地保留一个Cookie
文件,而当采用A网站iframe
框架形式嵌套后就无法成功生成Cookie
文件,该问题仅在IE浏览器环境下出现,firefox、chrome、Safari
浏览器下没有问题。
造成该问题的原因:一个所谓的隐私首选项(简称为P3P
)的W3C标准。只有在每一页上设置一个Cookie
发送头,才能允许Internet Explorer
接受第三方Cookie。
1 | P3p: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR" |
1 | PHP:header(‘P3P:CP=”IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT”‘); |