`
天梯梦
  • 浏览: 13640247 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

网站统计:第一方Cookie和第三方Cookie

 
阅读更多

什么是 Cookie?

Cookie 是您访问过的网站创建的文件,用于存储浏览信息,例如您的网站偏好设置或个人资料信息。共有两种类型的 Cookie:第一方 Cookie 是由地址栏中列出的网站域设置的 Cookie,而第三方 Cookie 来自在网页上嵌入广告或图片等项的其他域来源。

Cookie可以用来提升用户体验,比如网站可以使用Cookie来记录用户的登录状态,用户只要登录一次就可以不用登录了,购物网站通过Cookie来保存购物车中的商品等。同时很多的网站分析都是依靠Cookie来完成的。

 

以网站统计为例,目前主要的统计方式是日志记录法和页面标记法。一般日志记录法细化到IP,而页面标记法细化到Unique  Visitor。UV并不仅仅是一个指标,更重要的是的它可以把一个用户多次访问的事件联系在一起。包括用户第一次从哪里来,第二次从哪里来,在网站上的浏览轨迹等都可以查询出来。

 

Cookie是如何工作的?

一般来说,Cookie通过HTTP Headers从服务器端返回到浏览器上。首先,服务器端在响应中利用Set-Cookie header来创建一个Cookie ,然后,浏览器在它的请求中通过Cookie header包含这个已经创建的Cookie,并且反它返回至服务器,从而完成浏览器的论证。

 

比如,我们访问一个网站,来到了登录的页面。页面需要我们输入用户名和密码,同时下面有一个选项,叫“保留我的登录状态”,如果输入了用户名,密 码。为了下次在来这个网站,不用再重新输入,我们激活了保留状态的选项。最后点了提交。这时,我们的浏览器就会和网站服务器之间通过HTTP协议进行连 接,提交刚才输入的内容和选择。服务器收到以后,会判断这个用户名密码是否正确,因为我们需要保留状态,就需要设置Cookie来记录状态。那服务器会在 返回的HTTP数据包的头部包含SetCookie这个指令来告诉浏览器要保存的Cookie。浏览器收到以后会把这个Cookie加密存储到电脑上。这 个Cookie记录的一般是用户在这个网站的唯一的ID。之后,只要每次访问这个网站(只要还是这个域名),我们的浏览器在请求这个网站服务器数据的时 候,都会在HTTP请求数据包的头部增加一条包含Cookie数据的信息,比如这里会告诉服务器:“我是你的用户,我的ID是9527。”那服务器收到这 个信息,就不会再提示登录,而我们就已经是登录的状态了。

 

第一方Cookie和第三方Cookie

Cookie通常可以分为两类,第一方Cookie和第三方Cookie,第一方Cookie和第三方Cookie,都是网站在客户端上存放的一小 块数据。他们都由某个域存放,只能被这个域访问。他们的区别其实并不是技术 上的区别,而是使用方式上的区别。比如,访问www.a.com这个网站,这个网站设置了一个Cookie,这个Cookie也只能被www.a.com 这个域下的网页读取,这就是第一方Cookie。如果还是访问www.a.com这个网站,网页里有用到www.b.com网站的一张图片,浏览器在 www.b.com请求图片的时候,www.b.com设置了一个Cookie,那这个Cookie只能被www.b.com这个域访问,反而不能被 www.a.com这个域访问,因为对我们来说,我们实际是在访问www.a.com这个网站被设置了一个www.b.com这个域下的Cookie,所 以叫第三方Cookie。

 

第一方Cookie的优势和应用

第一方Cookie的最大优势是接受率高。一般主流的浏览器的都会有隐私的设置,可以让用户设置是否接受Cookie,接受哪些Cookie。除了 完全不接受Cookie这个设置以外,其他情况下,第一方Cookie都是会被用户接受的(不接受的话,是没办法把那小块数据保存下来的)。所以,如果没 有特殊要求,使用第一方Cookie会比第三方Cookie,我们通过分析工具得到的数据会更准确。

 

第三方Cookie的优势和应用

第三方Cookie的接受率不如第一方Cookie(不过主流的浏览器默认的设置下也接受带P3P协议的第三方Cookie,我的经验是接受率能达 到90%,甚至95%以上),但在某些特定情况下可以实现第一方Cookie无法实现的功能。比如,当我们有多个域名的网站需要跟踪,我们希望了解到用户 点击某个广告到达域名A下的网页,然后可能浏览了不论那个域名下的页面,最后在域名B下的网页完成注册的情况。广告可以在域名A下的网页被跟踪到,而注册 可以在域名B下的网页跟踪到。如果我们使用第一方Cookie,会为域名A建立一个Cookie,为域名B再建立一个Cookie,他们可以关联各自域名 下网页上的行为,但是无法关联起来。而使用第三方Cookie,那么无论多少个域,都只有一个Cookie,一个属于第三方域的Cookie,网站下所有 域都能共享这个Cookie,那么所有的行为都能被关联起来分析。

 

结论:对于通过脚本型的网站分析工具来获取数据

  • Cookie是必须的,离开Cookie我们什么也分析不了。
  • 第一方Cookie接受率高,更准确,没有特殊需要就用他。
  • 第三方Cookie可以跨域跟踪,特别需求可以应用。

 

P3P解决第三方cookie存取的问题

P3P(Platform for Privacy Preferences)是由万维网协会研制,它为Web用户提供了对自己公开信息的更多的控制。支持P3P的Web站点可以为浏览者声明他们的隐私策 略。支持P3P的浏览器则可以将Web站点的策略与用户的隐私偏好进行对比,并为用户提出不匹配的警告。因此,用户可以被通知有关Web隐私的处理方式。 更详细的说明请看http://www.w3.org/P3P/的介绍。

以上几乎都是废话,我自己的理解就是通过P3P 可以使 用户自己指定浏览器的隐私策略。而这里只用到了关于cookie的一些设置。


我们打开ie浏览器–>工具–>internet选项–>隐私分页 用户可以通过手工 “导入” 用户隐私策略文件

 

PHP使用P3P来跨域跟踪的示例

首先修改Windows文件,将要测试的两个域名进行指向。

  • 127.0.0.1        www.a.com
  • 127.0.0.1        www.b.com

第一步:创建 a_setcookie.php 文件,内容如下:

<?php
//header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); 
setcookie("test", $_GET['id'], time()+3600, "/", ".a.com"); 

 

第二部:创建 a_getcookie.php 文件,内容如下:

<?php var_dump($_COOKIE);

 

第三部:创建 b_setcookie.php 文件,内容如下:

<script src="http://www.a.com/a_setcookie.php?id=www.b.com"></script>

 

三个文件创建完毕后,我们通过浏览器依次访问:

  • http://www.b.com/b_setcookie.php
  • http://www.a.com/a_getcookie.php

我们会发现,在访问b.com域的时候,我们并没有在a.com域设置上cookie值。

然后我们修改一下a_setcookie.php文件,去掉注释符号,a_setcookie.php即为:

<?php   
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');  
setcookie("test", $_GET['id'], time()+3600, "/", 

 

再次通过浏览器依次访问:

  • http://www.b.com/b_setcookie.php
  • http://www.a.com/a_getcookie.php

这次,你会发现在访问b.com域的时候,我们设置了a.com域的cookie值。

 

其他Cookie相关知识

  • cookies是暂存在电脑里的.txt格式的文本文件。
  • 一台电脑的所有用户,用记事本都可以看到暂存的Cookie。
  • 只有访问的站点能够建立获取first-party cookies。
  • 访问的站点可以允许其他域名浏览cookie信息。
  • 电脑内的信息不会因为cookies受任何影响,你可以随时手动删除。
  • cookies文件大小限制为4k。
  • 各浏览器对cookie的限制不同,IE8和Firefox为50个,Opera为30个。

参考资料

引用地址:http://www.biaodianfu.com/first-party-cookie-and-third-party-cookie.html

 

对于刚刚学习分析网站的网站分析师来说,第一方cookie与第三方cookie相信是非常基础的知识,熟悉它们以后对于日后的学习非常有好处。

 

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

第一方cookie

第三方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个月 存储活动变量,例如媒介,关键词

 

文章来源于深圳网站分析

 

分享到:
评论

相关推荐

    tpc-check:检查用户是否启用了第三方Cookie

    TPC检查检查用户是否已启用第三方cookie。 第三方Cookie基本上是常规Cookie,但来自不同的域。 它们对于识别用户的浏览器以及聚集特定用户...内部工作有几个步骤来确定是否启用了第三方Cookie: 从第三方域(有一个单独

    cookieconsent:一个基于Javascript的解决方案,用于阻止甚至允许第三方Cookie遵守GDPR

    脚本标签阻止一些第三方服务要求您在HTML页面中插入脚本标签。 可以禁用它们,直到用户允许它们为止。脚本换行某些服务未插入SCRIPT标记中,并被其他代码层所遮盖。 这就是为什么该脚本创建一个全局包装器函数的原因...

    网页Cookie删除将对网站流量统计及广告服务统计造成一定的偏差

    比较了第一方Cookie和第三方 Cookie存在的差别,并通过讯实网络对网络用户的实证研究,着重阐明了用户的 Cookie删除行为会对网站独立用户分析及广告服务效果分析造成的统计偏差,进而提出仅仅依赖服务器端采集数据并...

    重新设置IE浏览器开启COOKIE功能

    重新设置IE浏览器开启COOKIE功能  覆盖自动cookie处理 (Override automatic cookie handling) ... 第三方cookie:接受 (Third-party cookies: Accept)  总是允许会话cookie (Always allow session cookies)

    C#获取本地Cookie

    可以随意获取本地存储的Cookie,这是获取IE的Cookie,要想获取其他浏览器Cookie,需要将里面的工具类的路径改一改,注释已写好,适用Win7以上,通过获取本地Cookie文件内容进行转换成Cookie,没有调用第三方dll,...

    第三方跟踪Cookie和数据隐私-研究论文

    网站访问者通常在不知情的情况下向第三方提供具有侵入性且可识别的个人信息,例如消费者和网络浏览历史记录。 这些广告商以提供更好的购买体验的名义,编制了用户的数字资料,并利用这些信息来发挥自己的优势。 ...

    italy-cookie-choices-php-class:Italy-cookie-choices-PHP类

    andreapernici,cardinaleandrea 捐赠链接:标签:合规性,Cookie法,Cookie,欧盟Cookie法,欧盟法,欧盟隐私指令,隐私,隐私指令,通知,隐私法,Cookie法律横幅,默示同意,第三方脚本,第三方Cookie,Cookie法...

    用户隐私和万维网上第三方跟踪机制的演变-研究论文

    第三方跟踪是指由用户从未明确导航到的网站进行的跟踪。 许多互联网用户都模糊地意识到他们的信息可能是在线收集的。 然而,数据表明,对第三方跟踪及其相关隐私风险的了解相对较少。 FoxTracks 软件工具试图解决...

    third-party-cookie-setter:如何在 iframe 中设置 cookie

    有时无法在用户第一次访问页面时从第三方框架站点设置 cookie。 这通常是合法网站正常运行所必需的。 此解决方案通过尝试设置 cookie,或将用户重定向到框架外到父窗口,设置 cookie,并将用户返回到父页面和框架...

    Disable Cookies-crx插件

    它不会停止当前网站(Analytics等)设置的第三方cookie - 禁用第三方cookie,您应该使用相应的内容设置(Chrome://设置/内容/ cookie) 禁用cookie时,它将删除此站点设置的cookie,并将重新加载当前页面。...

    flagCookies:cookie管理器,浏览器加载项,用于管理和标记cookie。 关于类固醇

    cookie管理器,允许显式标记和设置cookie(也包括第三方cookie)的规则。 domain.net和subdomain.domain.net具有单独的权利。 在登录到网站或服务中时,提供几种模式来为cookie设置规则并保留cookie配置文件。 注意 ...

    iframe跨域与session失效问题的解决办法

    第三方session/cookie指的是当前访问的网站中会加载(嵌入)另外第三方的网站代码,例如促销广告,那么第三方网 站也会在访客的计算机上添加session/cookie,这种就是第三方session/cookie。 我的问题 在开发讯息...

    Cookie Editor-crx插件

    管理您浏览器中存储的所有cookie,包括第三方cookie。 界面干净整洁。 Cookie编辑器-几个主要功能:标准功能:+添加新的Cookie +编辑Cookie属性+删除Cookie +一次删除所有Cookie高级功能:+受密码保护的加密存储+...

    express之cookie和session

    2.通过第三方模块来获取cookie 1.3 cookie的缺点 2.session 2.1配置session 2.2设置session 2.3 获取session cookie与session的基本概念与特性在之前的博文中已经有所介绍,所以这里就只简单的写一下express中cookie...

    webext-firstpartyisolation:启用第一方隔离偏好

    webext-firstpartyisolation 此加载项启用第一方隔离。 单击“鱼缸”图标或删除... 可以将其视为阻止第三方Cookie,但更为详尽。 这是 安装 鱼缸图标怎么了? 很难拿出一个图标来解释“第一方隔离”,我喜欢鱼缸。

    cookie+session实现的单点登录案例

    cookie+session实现的单点登录案例,同时整合了第三方(微博)登录。适用于学习单点登录流程、接入第三方登录的流程。

    Google作为事实上的隐私权管理者:从反托拉斯的角度分析Chrome删除第三方Cookie-研究论文

    在探索Google和Apple作为事实上的在线广告隐私监管者的一系列论文的第一篇中,我们建议详细探讨Chrome浏览器决定逐步停止支持第三方Cookie的决定,同时提出一系列建议,称为隐私沙箱。 考虑到Google在美国和欧洲受...

    cookieguard:根据GDPR处理第三方服务

    在第一个1.x版本中,我们将切换到“语义版本控制”: MAJOR.MINOR.PATCH 。 安装 Cookieguard可以通过NPM安装。 Cookieguard不提供预编译或捆绑版本,因此我们建议使用一个模块捆绑喜欢webpack或browserify 。 npm...

    tarteaucitron.js:RGPD友好的Cookie管理器

    欧洲cookie法规对cookie的管理进行了规范,您应先向访问者征得他们的同意,然后再将其暴露给第三方服务。 显然,此脚本将: 默认情况下禁用所有服务, 在首页视图上显示一个横幅,在其他页面上显示一个小横幅, ...

Global site tag (gtag.js) - Google Analytics