网络广告代理商是如何通过Cookie收集用户信息的
更多博文请关注:https://blog.bigcoder.cn
不知道大家有没有这样的经历,我在某宝上搜索一个商品,然后再打开其它网站,它会非常“智能”的给我推荐同一商品。

这样的操作大多都是因为Cookie在搞鬼,在了解厂商这些骚操作前,我们先了解一下浏览器的同源策略。
一. 同源策略
由于浏览器默认的同源策略只能获取到“自己”的Cookie。
所谓的同源策略就是指A网页设置的 Cookie,B网页不能打开,除非这两个网页"同源"。所谓"同源"指的是"三个相同"
- 协议相同
- 域名相同
- 端口相同
浏览器的同源策略会限制浏览器如下行为:
(1) Cookie、LocalStorage 和 IndexDB 无法读取。
(2) DOM 无法获得。
(3) AJAX 请求不能发送。
严格意义上的同源策略需要协议、域名、端口都保持一致,但是Cookie的同源策略只需要保证域名一致就行,默认情况下你访问https://zhidao.baidu.com产生的Cookie只有在访问zhidao.baidu.com这个三级域名(严格意义上.com .cn这种域名才属于一级域名)上才能使用,只是因为默认将Cookie的Domain设置为当前访问的域名。
但是很多情况下三级子域名之间也需要实现Cookie共享,例如:
https://zhidao.baidu.com
https://ditu.baidu.com
我们只需要在设置将Cookie的Domain设置为二级域名即可:

这样我们只要访问的是baidu.com下任意三级域名网站,都能够共享Cookie。
二. 广告策略
2.1 站内广告
有了Cookie这样一个宝贝,厂商们就只需要在Cookie中设置一个名为xxxxxId(或者是其它奇奇怪怪的名字)的一个Key,这个key后面跟着一段很长的值,你的所有浏览行为都会与该值绑定,哪怕你并未登录,厂商也能将你的用户喜好和你的设备(浏览器)绑定。由于Cookie能够设置过期时间,这样厂商就能在你下次访问时推荐相似的商品。
2.2 跨站广告
网站不能访问不同域名的 cookie。这一点是浏览器控制的。网站无法绕过这一点。所以,广告一般是通过 <iframe> 嵌入在正规的内容网站中,这样它通过自己的域名一样能使用 cookie 存取用户的浏览记录。
用户正在访问的的正规网站的域名为 A,广告商的域名为 B。那么即使用户浏览器地址栏显示为A,但实际上浏览器做了两次请求,一次给 A 为了显示正常内容,一次给 B 为了显示广告内容。这样的话 A 和 B 实际上都可以通过浏览器使用 cookies。区别在于,A 的 cookie 值只属于A,B 的 cookie 值只属于 B。下次用户在进入网站 C 里面如果还有 B 的<iframe>广告,那么 B 就可以通过之前在 A 网站上做的记录,给用户精准投放广告。至于 B是怎么知道用户在A上看过什么,那就是 A 和 B 之间的事了(就像某宝和某东在私底下有没什么PY交易,谁能知道呢)。
有可能 B 本身就是一个比较流行的网站,例如某宝和某东,它自己就可以记录用户习惯,然后再投到它的其他广告里。这就是为什么你在某宝进行了搜索,然后再新浪微博页面上居然能看到该搜索有关的广告。这就是因为新浪微博的页面上有一个<iframe> 显示了淘宝的广告。
举个实际的例子,我们在浏览百度、优酷、天猫等网站时,都能看到几个 .mmstat.com 这个域下的 Cookie

当你在百度、优酷、淘宝(阿里系)等进行一系列的操作时,.mmstat.com 已经悄悄的通过三方 Cookie 把你的个人信息运送到了他们那边。 .mmstat.com 应该就是阿里旗下的大数据营销平台阿里妈妈旗下的域名(只是个人猜测)。打开阿里妈妈首页,可以看到,其号称是更懂消费者的数据金矿,已经建立起5亿用户的身份识别体系。你的每一次搜索、每一次购买、都会让它变的更精准,下一次你就收到更精准的推荐。
三方 Cookie 只是众多获取你喜好信息的一种方式,只不过这种方式更便捷,成本更低。
三. 逐渐禁用的三方Cookie
苹果公司前不久对 Safari 浏览器进行一次重大更新,这次更新完全禁用了第三方 Cookie,这意味着,默认情况下,各大广告商或网站将无法对你的个人隐私进行追踪。而微软和 Mozilla 等也纷纷采取了措施禁用第三方 Cookie,但是由于这些浏览器市场份额较小,并没有给市场带来巨大的冲击。
我们将正在访问的站点的Cookie成为第一方Cookie,你如你正在访问的baidu.com,那么所有baidu.com的Cookie就称为第一方Cookie;而那些通过内嵌第三方代码,或者请求三方API产生的Cookie就称为第三方Cookie。
一旦浏览器完全禁用第三方Cookie,现阶段使用三方Cookie实现的技术方案都需要作出相应改变。
3.1 前端打点

大多数 Web 站点都会引用一些第三方 SDK 来进行前端异常或性能监控,这些 SDK 会通过一些接口将监控到的信息上传到他们的服务器。一般它们都需要标识每个用户来方便排查问题或者统计 UV 数据,所以当你一此请求这个站点的时候,它们可能会在你的站点上 set 一个 Cookie,后续所有的日志上报请求都会带上这个 Cookie 。
由于一般这些第三方 SDK 都是用于监控的通用服务,它们肯定会拥有自己独立的域名,比如 log.com,它在你的域名 mysite.com 下种下的 Cookie 就属于第三方 Cookie。
3.2 无法追踪转化率

当你查看一则广告时,该广告会在你的浏览器中放置一个 Cookie,表示你已经看到它。如果随后你进入转化阶段(购买、下载等),广告主们需要能追踪每一个他们投放到你网站上的转化率,这样他们才能计算投放的效果,从而作出优化策略,如果你无法再追踪广告转化率了,那么也很难再进行投放了。
当然,以上只是建立在你没有进行任何改变的基础上,距离全面禁用三方 Cookie 还有一年多的时间,这应该是一个足够的时间让你及时作出应对。
3.3 智能广告推荐消失
上文中依赖于三方Cookie的智能广告推荐将会消失。
本文参考:
网络广告代理商是如何通过Cookie收集用户信息的的更多相关文章
- 不使用cookie记录用户信息
cookie是什么: cookie是由web服务器保存在用户浏览器(客户端)上的小文件,它可以包含用户信息,用户操作信息等等,无论何时访问服务器,只要同源,就能携带到服务端 常见方式 一般:请求一个接 ...
- 10 ~ express ~ 使用 cookie 保存用户 信息
思维导图: (1) 保存 cookie (2)销毁 cookie 一,保存 cookie 1,app.js . 新增代码 var Cookies = require('cookies') /** * ...
- 疯狂收集个人信息的谷歌,为何不像Facebook那样让人毛骨悚然?
自从Facebook信息泄露丑闻事件发生后,互联网上的个人隐私及安全成为大众的"心病".而大众最讨厌的,是互联网企业收集自己的信息,因此都在积极讨伐这种行为.但他们却忘了,收集用户 ...
- jQuery 操作cookie保存用户浏览信息
使用jQuery操作cookie之前需要引入jQuery的一个cookie小组件js,代码如下: /* jQuery cookie plugins */jQuery.cookie ...
- Facebook 被指收集用户数据:通过照片和文本
北京时间5月25日消息,在加利福尼亚州进行的对Facebook泄露用户信息一案中,法院对Facebook提起一项新的诉讼,指控该公司通过App收集了用户及他们朋友的信息. 上周向加利福尼亚州圣马特奥市 ...
- 详解一下网络广告cpc、cpm、cpl、cpa、cps、cpr的计费方法是什么
CPC(Cost per click)按照 广告 点击数 计费 ,限定一个IP在24小时内只能点击一次.CPM(Cost per mille)按照广告显示次数来计算广告费,可在短时间内为 网站 带来巨 ...
- UWP 应用获取各类系统、用户信息 (2) - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息
应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Gith ...
- 网络广告计费方式CPM、CPA、CPS、CPT、CPC及比较分析
网络上的广告计费方式,主要有以下几种: 按展现付费(CPM).每展现一千次,收费多少. 按点击付费(CPC).每带来一个点击收多少钱. 按时间付费(CPT).每放一天或者几个小时,收费多少. 按效果付 ...
- js实现浏览器用户信息收集
前言 这是一个通过html5,javascript用于收集用户通过上网泄漏的各种信息,包括地理位置,IP地址,照片,语音,浏览器版本等信息.结合大数据,可实现广告定向投放,用户追踪,用户行为分析,用户 ...
- Oracle 手动收集统计信息
收集oracle统计信息 优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN: 列统计: --列中唯一值的数量(NDV ...
随机推荐
- 分析即服务(AaaS)是什么?终于有人讲清楚了
随着世界数据领域的地位和规模的不断扩大,大数据.人工智能和云计算正在结合起来,以分析即服务的形式为企业提供急需的喘息机会 . 让我们简要回顾一下 2010 年以来发生的事情. 这十年来我们见证了许多技 ...
- MogDB/opengauss触发器简介(1)
MogDB/opengauss 触发器简介(1) 触发器是对应用动作的响应机制,当应用对一个对象发起 DML 操作时,就会产生一个触发事件(Event).如果该对象上拥有该事件对应的触发器,那么就会检 ...
- .NET Aspire预览5版本 发布
2024年4月11日发布了.NET Aspire预览5版本,这个版本引入了对AWS的支持,并对Azure功能进行了改进.重点内容包括拆分Aspire.Hosting和Aspire.Hosting.Az ...
- 在 macOS Big Sur 上安装 MySQL 8.x Compressed TAR Archive
因个人能力有限,文章难免存在错误,望斧正,感谢. 版本: macOS 11.6 Intel版本 MySQL 8.0.26 Compressed TAR Archive 一.准备所需文件 前往 MySQ ...
- 美团二面:如何保证Redis与Mysql双写一致性?连续两个面试问到了!
引言 Redis作为一款高效的内存数据存储系统,凭借其优异的读写性能和丰富的数据结构支持,被广泛应用于缓存层以提升整个系统的响应速度和吞吐量.尤其是在与关系型数据库(如MySQL.PostgreSQL ...
- ElasticSearch 7.7 + Kibana的部署
ElasticSearch目前最新版是7.7.0,其中部署的细节和之前的6.x有很多的不同,所以这里单独拉出来写一下,希望对用7.x的童鞋有一些帮助,然后部署完ES后配套的kibana也是7.7.0, ...
- 如何使用鞋厂ERP等企业管理软件提高企业运营整体效率?
ERP把企业客户需求.市场规划.产品研发.内部制造等活动以及供应商的资源整合在一起,形成企业一个完整的产业链和供应链,通过企业多个环节的无缝链接和整体运作来提高企业运营整体效率: (1) . 对整个产 ...
- 亿图version 9.2安装教程
记录一下自己安装亿图9.2版本的安装过程~ 先获取安装资料: 百度网盘链接: 链接:https://pan.baidu.com/s/1zJDcF9Y0Xy2CvD4mG_oOfQ?pwd=pqy9 提 ...
- 用积木讲运维,这样的IT人太会了
简介: 日志服务SLS提供数据采集.加工.分析.告警可视化与投递功能,为AIOps.大数据分析.运营服务.大数据安全等场景提供支撑,并能以搭积木的方式适配各类运维场景,辅助企业的IT决策.近日,日志服 ...
- KubeVela 1.0 :开启可编程式应用平台的未来
简介: 如果你对云原生领域不太关注,可能对 KubeVela 还没有做过太深入的了解.别着急,本文就借着 v1.0 发布之际,为你详细的梳理一次 KubeVela 项目的发展脉络,解读它的核心思想和愿 ...