什么是第三方Cookie?别等生意都丢了,才去了解
最近有两个事件和第三方Cookie相关。其一是Firefox火狐浏览器的69版本已经默认在ETP(Enhanced Tracking Protection)开启阻止第三方跟踪Cookie,之前只是新安装的场景会默认启用。其二是Google称阻止Cookie会对用户利益产生负面影响,因为各方会因此采用更激进更具破坏性的浏览器指纹技术对用户的隐私产生危害。第三方Cookie第三方Cookie极诣在近一
最近有两个事件和第三方Cookie相关。其一是Firefox火狐浏览器的69版本已经默认在ETP(Enhanced Tracking Protection)开启阻止第三方跟踪Cookie,之前只是新安装的场景会默认启用。其二是Google称阻止Cookie会对用户利益产生负面影响,因为各方会因此采用更激进更具破坏性的浏览器指纹技术对用户的隐私产生危害。
第三方Cookie
第三方Cookie极诣在近一年来持续关注苹果浏览器Safari ITP(Intellectual Tracking Prevention)和互联网隐私收紧对广告行业的影响。对于我们多次提到的Cookie和第一方/第三方Cookie,有必要再深入浅出地介绍一下。
什么是Cookie?什么又是第三方Cookie?
Cookie是浏览器存储小量信息到本地的一种方式之一。其他的还有本地存储(Local Storage)。在浏览器地址栏网址旁的小锁点击后选择Cookies便可看到下面的信息。在浏览器地址栏网址旁的小锁点击后选择Cookies便可看到下面的信息。在浏览器地址栏网址旁的小锁点击后选择Cookies便可看到下面的信息。在浏览器地址栏网址旁的小锁点击后选择Cookies便可看到下面的信息。在浏览器地址栏网址旁的小锁点击后选择Cookies便可看到下面的信息。
除了Cookie之外,浏览器还有其他存储方式
除了Cookie之外,浏览器还有其他存储方式Cookie保存了许多有用的信息,比如登陆状态。因此许多爬虫因为需要爬取登陆后的信息需要使用Cookie池。Cookie还可以保存一些方便用户浏览的数据,比如一些表单的选项。当你禁用Cookie后,许多网站提供的内容将有可能不可用,特别是还会遇到登陆障碍。
第一方Cookie和第三方Cookie在存储形态上是一致的。所谓第一方Cookie便是你所正在浏览的域所建立的Cookie。如果你正在访问极诣的官网maxket.com,那么你的浏览器将会生成一些maxket.com域的Cookie保存起来。这就是第一方Cookie。于此同时极诣的网页亦会生成一些百度的和腾讯的Cookie保存在你的浏览器中。因为这些相对于极诣(第一方)和浏览者(第二方)为第三方,因此称为第三方Cookie。
Cookie和本地存储有什么区别?
Cookie和本地存储都是浏览器存储信息的方式。它们的区别如下:
- 前者被大多数浏览器所支持,而后者在一些古老的浏览器上不可用。
- 前者存储信息最多就是4KB,而后者可至5MB。
- 前者会通过HTTP请求自动发送给请求的服务器,后者必须通过本地操作主动处理后发送给服务器。
因此我们知道本地存储并不能代替Cookie。
第三方Cookie有什么用?
第三方Cookie用来帮助第三方来标记你这个用户。
举个例子,我们假设你是某视频网站的VIP,并具有免广告权益。那么如果极诣将一个该视频网站的嵌入maxket.com之后,该视频控件则需要判断你是否为VIP才能对你提供免广告的服务。此时如果网页中有第三方Cookie则可以识别。由于maxket.com的JavaScript无法读取第三方视频网站的Cookie,识别的方式将通过HTTP请求中的Cookie在请求视频网站资源时同时把此时作为第三方Cookie的用户标识信息传给视频网站。
再举个例子,我们假设某个广告平台A需要把广告投放给喜欢旅游并喜欢极诣的群体。那么假设它和旅游网站B与极诣合作并把它的跟踪代码加入到这两个网站的页面中。当用户访问这个广告平台的众多网站之一时,跟踪代码会生成一个唯一的标识符并以第三方Cookie的形式存储到浏览器。当用户来到旅游网站B时,跟踪代码会读取广告平台的一个1×1的gif,并通过请求时HTTP头部的Cookie字段或者gif后的参数把唯一的标识符传递回广告平台A,同样当访问极诣后广告平台一样也会知道用户的访问事件。那么当用户访问网站C时,针对C页面上的广告位,C会先通知A该用户的唯一标识符,A判断用户的访问历史后确认访问过B和极诣,则会对该用户进行精准广告投放。
我们可以看到第三方Cookie唯一要做的只是记录一个唯一标识符,其他工作都可以交给广告平台完成,这样就完成了跨域名跟踪。因此第三方Cookie被广泛用在单点登陆中。比如你在某宝登陆后就无需在某猫再登陆一次。
第三方Cookie是如何生成的?
和第一方Cookie一样,第三方Cookie有两种方式进行部署。
首先是使用JavaScript的document.cookie进行Cookie写入。这种方法既可以对用户正在访问的域进行写入又可以对第三方域写入。另外你也可以使用iframe在页中页中进行写入。
还有一种是使用服务器端返回的HTTP Response中的Set-Cookie字段进行设置。这种方式仅需要页面发起一个第三方资源请求即可,比如调用服务器端的一个图片。一般的做法还会通过JavaScript把信息附在图片资源后作为参数进行请求作为refer字段的补充。由于第一方的JavaScript无法获取第三方的Cookie内容(只能写不能读),Google Analytics会把信息转而存储在第一方Cookie中。
那么有第一方Cookie可用为什么还要存为第三方呢?
为了网站的安全性。当然,Cookie本身就不怎么安全。XSS和CSRF攻击,了解一下?
如果是GA把Cookie写到了你的第一方Cookie中并能够读回来,你或许还能觉得放心。但若是一些野鸡第三方广告平台的话你就要有很大疑问了。因为如果网站开放让这些平台读写第一方数据,那么这些第三方平台就可以获取到用户访问时的第一方Cookie。也就是说这些野鸡平台可以通过获取用户登陆状态窃取你的用户的信息。
所以大多数情况下,这些跟踪代码只通过第三方Cookie的方法部署。
可不可怕?更可怕的是即便是使用第三方Cookie你仍然无法保证信息不被泄露。因为第三方请求中的Referer依然可以将你此时所在的页面URL发给第三方服务器,这些URL里面会包含你的用户名和其他信息,就好像你每天在用的UTM标签一样。
各浏览器对第三方Cookie的态度
从不知什么时候开始,浏览器中就可以通过设置来屏蔽第三方Cookie。只不过由于默认并不开启,影响不大。自GDPR公布以来,随着ITP的发布,各大浏览器对第三方Cookie的态度越来越苛刻了。
Safari
Safari中所有用于跟踪的第三方Cookie都会被智能识别并屏蔽。对于其他Cookie,包括第一方和第三方,只要是document.cookie写的,生存期降为7天(ITP2.1);满足特定条件时,生存期减少至24小时(ITP2.2)。Set-Cookie方法最多为两年,仅限第一方Cookie。读取第三方Cookie需要用Storage Access API来进行(ITP2.0)。
你可能又要说了那我就用Set-Cookie好了,没错如果你的第三方Cookie没有被判别为具有跟踪能力的Cookie那么可以继续使用Set-Cookie字段。但是这种方式难保不被滥用并在不久之后受到限制。我们看到ITP的各版本不断加强,连第一方Cookie也受到了影响。
FireFox
Firefox屏蔽跟踪Cookie
我们开篇说了火狐浏览器现在默认屏蔽第三方跟踪Cookie。你在隐私设置里可以看到Third-party tracking cookies由原来的Strict移到了Standard。
屏蔽第三方跟踪Cookie已是默认设定
如果你不确定你用于第三方Cookie的域名是否被归类为具有跟踪能力,你可以查询FireFox的合作方Disconnect.Me。
https://disconnect.me/trackerprotection/blocked
Edge
此处我们说的是微软最新的使用Chromium内核的Edge浏览器。在默认情况下阻止跟踪被开启。
Edge会默认打开防跟踪选项
在Edge的默认防跟踪选项Balanced中,我们发现它仅仅会阻止“某些”第三方跟踪,并且明确指出这会让你看到较少的相关的广告。换言之,你看到的广告并不会减少,但是相关性会较低。那么哪些行业会给一些无法获得肖像陌生人投广告呢?你可以用脚趾头想一想。
Chrome
所有这些防跟踪的手段最终影响最大的是广告收入占主要收入的互联网公司。我们再用脚趾头想一想,如果说Edge对防跟踪的表现比较温和,是因为广告收入还不是占微软的总收入太多,那么对Google来说会是怎么样呢?
Google当然是“不支持”或者“阳奉阴违”的。为什么Google会去做Chrome这个产品?为什么Google会收购下Android这个移动操作系统?其终极目的都是广告收入。不管是Chrome还是Android,其默认的搜索引擎都是Google。现今,不管是Chrome还是Android都有着超过50%的全球市场份额。因此,Chrome和Android是作为护城河的存在,对Google的整个生态是至关重要的。
想动Google的蛋糕?首先在Chrome中你要去Settings,然后要展开Advanced,点击Privacy and Security,找到Site Settings,你这才能看到Cookies。点击Cookies你可以看到下面的景象。
Chrome默认允许第三方Cookie
无需多言,默认允许所有Cookie,而且只能选择禁用/启用所有第三方Cookie。
至此我们可以看到各厂对第三方Cookie的态度。也难怪Google被人指责用荒谬的言论来保护自己的既得利益。隐私专家 Jonathan Mayer和Arvind Narayanan说:“为了理解这种说法的荒谬性,想象一下当地警察说,’我们看到我们的城镇有一个扒窃问题。但如果我们严厉打击扒窃行为,扒手就会转向抢劫。那会更糟。当然你不想要那个,对吗?’“
这些对数字营销者们意味着什么?
笔者作为一位业内人士自然是希望广告的target能够越来越精准,(除Chrome外的)各大浏览器的正在朝着保护用户隐私的角度发展这无疑是对广告定位不利的。
但是我们既作为数字营销者,同时又是普通的用户,从同理心出发,我们也应该理解普通用户所怀有的顾虑和担忧。
Ad-Tech行业需要能够及时找出新的解决方案让用户的隐私得到保障并让广告投放效果得到提升。诸如极诣前些时候介绍的零方数据(Zero-party Data)的概念将会得到更好的利用。
更多相关内容:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)