浏览网站时为什么老是要我接受Cookie
我们在浏览网站时,尤其是一些国外网站的时候,经常会出现这样的弹框,提醒你接受全部Cookie;如果不接受,有些弹框甚至会一直出现,不让你访问;那么这个弹框为什么要出现呢?如果你接受了,对你后续浏览网站会有啥影响呢?你的隐私是否会泄露呢?带着这么多的疑惑本文就带你一探究竟。
Cookie
首先我们要知道什么是Cookie?相信对于很多Web开发的同学,尤其是前端小伙伴来说,Cookie并不陌生;很多开发同学刚上手做项目的时候,就使用过很多第三方的库对Cookie进行过存储操作;根据MDN上对Cookie的解释:
HTTP Cookie是服务器发送到用户浏览器并保存在本地的一小块数据。浏览器会存储 cookie 并在下次向同一服务器再发起请求时携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。
其实说到底,Cookie就是网站在我们浏览器中存储的一小块字符串数据而已,一般总的大小也就限制在几MB以内;它刚开始只是让网站能够确认访问的用户身份,因为我们都知道Http请求是无状态的,并不能确认是哪个请求是哪个用户发起的;但在请求上带了Cookie之后,就能够确认用户身份。
Cookie主要以键值对的形式进行存储,如name=jack,我们打开面板查看淘宝网的Cookie:
我们会看到很多的Name和Value,这里有不同的字段我们看下它们所代表的含义:
- Name:Cookie的名称。
- Value:Cookie的值。
- Domain:可以访问该Cookie的域名。
- Path:Cookie的访问路径。
- Expires:失效时间。
- Size:Cookie大小。
- Secure:标记为Secure的Cookie只通过HTTPS请求发送给服务端。
- SameSite:允许服务器设定Cookie不随着跨站请求一起发送。
- Priority:优先级。
这里字段比较多,例如Expires、Path等,一般都是在开发中才会用到的,这里就不过多介绍了;我们着重来介绍下Domain字段
,因为本文后面的内容主要都是围绕着这个字段所展开的。
这里假设我网站的域名是example.com
,我给Domain设置的是.example.com
,那么我所有example.com子域名下面的网站都是能共享Cookie的,比如a.example.com
和b.example.com
,这种一般用于很多个项目单点登陆,避免用户在类似的网站上重复登陆。
一个不太典型的案例就是淘宝网和天猫网,虽然他们俩是两个域名,但是都属于阿里旗下,我们在一个网站登陆后就可以访问另外的网站了;比如我们在上图中就能看到,笔者是在淘宝登陆后的,能看到不少的.tmall.com
的Cookie;再去访问天猫也是免登陆的。
但是如果我网站的域名是example.com,但是我给Domain设置的是其他的网址,那这里面可操作的空间就很大了,如果是我们浏览的网站自己跟踪存储的Cookie,我们一般叫做第一方Cookie
,这个其实还算正常。
但是,如果存储的Cookie可访问地址不是我们当前访问的网站,而是别的什么网站,这里就需要特别留意了,是不是把我们的浏览记录提供给友商了,这种Cookie就叫做:第三方Cookie
。
第三方Cookie
很多小伙伴相信都有这样的经历,我在搜索平台搜索某样东西,没过多久,会在购物平台上立即推送给我,或者我在购物平台搜索了某样东西,在浏览器的广告中又会给我推送;确实,这其中起到作用的就是上面提到的第三方Cookie
那么第三方Cookie是如何生成的呢?主要是通过两种方式;第一种就是使用Javascript的document.cookie
的方式写入,这种方式一般是两方同属一个集团或者一家公司,因为这里面涉及到数据的传输和加密方式;我们存储到Cookie中的数据一般都会经过加密,如果是两家公司,我不太可能把我的加密方式也告诉你;顶多给你一个npm包,让你来调用,但这里面就涉及代码逻辑了,这就比较复杂了。
另一种方式就是通过服务端来在请求中带上Set-Cookie
字段进行设置,这种方式不会侵入太多的代码,只需要在页面上向第三方资源发起一个请求即可,一般这个请求返回的资源也比较少,比如一个几kb的gif图片。
比如我们在上面淘宝网中看到很多Cookie都指向了.mmstat.com
域名,然后我们搜索请求记录会看到taobao.com向这个域名下发送了很多的图片资源,但是啥都没有返回,反而在响应头中带了很多的Set-Cookie内容。
这样就很明显了,mmstat应该就是淘宝旗下的统计以及广告跟踪的平台,笔者找了网上不少资料,大概率是大数据营销平台阿里妈妈统计
(Alimama Statistic)的缩写。
GDPR
说了这么多的Coookie的知识,这和我们的弹窗有什么关系呢?这里就要说到欧盟出台的一部重要的数据安全保护条例,也就是:《通用数据保护条例》
(General Data Protection Regulation,下面简称GDPR),它取代的是1995年推出的欧盟《数据保护指令》
。
这部法例是在2016年4月14日于欧盟议会上正式通过,并于2018年5月25日在欧盟成员国内正式生效实施的;我们发现这部法例和1995年的《数据保护指令》
在时间跨度上有20年之久,我们都知道在这20年间互联网发生了天翻地覆的改变,同时也发生过很多大企业数据泄露的重大安全隐患,因此原来的法律对数据的保护已经跟不上时代的发展了。
正是由于GDPR的出台,严格规范和限制了企业在个人数据的采集、存储、处理等一系列操作,因此我们才能看到很多网站上出现的接受Cookie的弹框;这里面的内容很多,包含了10个章节,99款条例,本文挑其中一些重要的细节来简单讲解一下,有兴趣的小伙伴可以在下面参考中找到GDPR中文版全文。
首先就是这部法律的适用范围,哪些企业适用呢?主要是两方面:
- 欧盟境内成立的任何一家从事个人数据处理活动的公司或实体。
- 在欧盟境外成立的公司,只要其数据处理活动与向欧盟境内的个体提供产品或服务。
也就是说不管你的公司成立是否在欧盟境内,只要你在欧盟境内开展了业务,那你都会被这部法律所约束;那么它究竟约束你去做什么呢?我们继续来看下。
首先,企业在收集用户的个人信息之前,应当以一种简洁、透明、易懂和容易获取的形式,以清晰和平白的语言
向用户说明:
- 将收集用户的哪些信息;
- 收集到的信息将如何进行存储;
- 存储的信息会如如何使用;
- 企业的联系方式;
信息应当以
书面形式
或其他形式提供,包括在合适的情况下通过电子方式提供。
这点比较重要了,明确说明了信息需要通过书面的形式来提供给用户,这就是我们所看到的弹框的根本原因所在。其次是处罚力度也是相当大的,条款中明确写道:
违反如下条款,应当按第2段的规定施加最高2000万欧元的行政罚款,如果是企业的话,最高可处相当于其上一年全球总营业额4%的金额的罚款,两者取其高的一项进行罚款。
对于一些大公司,还勉强能够承担这样的罚款,但是对于小公司,这种处罚力度可能就是致命的了;比如腾讯QQ就向国际版用户发布通知,宣布5月20日起停止为欧洲用户提供服务;随后又表示,更新到5.0及以上版本的QQ国际版可继续使用,旧版本则在5月20日停止使用。
面对如此严格的法律,很多企业也将这样的弹框普及到了其他国家的业务;比如我们都知道Ubuntu是由一家南非的公司Canonical来运营的,但是在欧盟也提供了相关业务,因此,我们去Ubuntu官网下载时也能看到这样的弹框。
我国现状
说了这么多GDPR的限制,大家肯定会觉得还是西方的月亮圆啊,还是西方保护人权自由,我们国内的的法律还是不够完善,都没有这样的弹框来保护我的知情权益。
但其实,为了避免个人信息泄露、滥用等问题,其实我们国家从21年开始,也是出台了相关的法律法规,只是我们平时不太去关注而已,这部法律就是:《中华人民共和国个人信息保护法》
,下面简称《保护法》
,主要适用于在中华人民共和国境内处理自然人个人信息的活动。
为了避免本文从技术文章变成冗长乏味的法律讲解文章,况且笔者也不是专业的法律出身,因此斗胆引用了网上几段法律条文来解释一下;首先既然是个人信息保护法,那么什么个人信息,它包括哪些呢?《保护法》中明确指出了:
个人信息,包括生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等信息。
没错,最后的行踪轨迹
,从宽泛的角度来说,就包括了我们的网页浏览记录等信息,因为这些记录能够间接或直接地反映出个人的身份、兴趣、行为等信息。
那么对于个人信息,《保护法》是怎么来做出要求的呢?原文中有详细的说明:
处理敏感个人信息应当取得个人的单独同意;法律、行政法规规定处理敏感个人信息应当取得书面同意的,从其规定。
以向境内自然人
提供产品或者服务为目的
,或者为分析、评估境内自然人的行为等发生在我国境外的个人信息处理活动,也适用本法。
没错,最后一条已经说得很明确了,只要你是以提供产品或者服务为目的的分析评估我的浏览记录,那你必须要取的我的书面同意,否则就是违法行为。
那么我。。。。。。同意了吗?没错,打开淘宝网隐私政策,我们就能清楚的看到其中加粗加黑的条文。
笔者摘录一下其中比较关键的两条给大家看一下:
为向您展示和推荐您可能感兴趣的商品或服务信息,我们会
收集和使用
您在访问或使用淘宝平台网站或客户端时的浏览、搜索、加购、交易记录
并结合依法收集的设备信息、服务日志信息以及其他取得您授权的信息,通过算法模型预测您的偏好特征。
我们会基于您的偏好特征在淘宝及
其他第三方应用程序
或终端向您推送您可能感兴趣的商业广告及其他信息,或者向您发送商业性消息。我们还会基于对淘宝平台用户浏览、搜索商品或服务的热点、潮流与趋势的统计分析,使用排序精选类算法形成相关精选的榜单,并向您进行推荐。
隐私政策中其实也已经说的很明确了,第三方应用程序推送感兴趣的商业广告;而且我们在注册登陆的时候就已经授权过了,只是大多情况下没有时间去仔细看网站政策里面说的是什么;但是至于是否要像GDPR中规定的那样,需要通过一个明确的弹框,这个需要从各方面来综合考虑了,例如企业经营成本,需要额外的开发成本,中小企业是否有能力应对,还有用户使用习惯等等方面。
总结
因此看完本文,我们该怎么做呢?笔者进行了如下几点总结:
第一,如果你是广告不敏感用户,不介意有广告,或者说觉得重新登录很麻烦,那你看到类似的弹框直接点击接受所有就行了,不用管什么条条框框的内容。
第二,如果出现接受Cookie的弹框,看下是否有接受必要Cookie
的按钮或者选项,然后进行勾选;还有一些网站会把必要Cookie
的选项隐藏在设置
中。
比如我们在AdblockPlus的官网,点开设置,就只勾选必要的Cookie
,还有一些网站上出现Necessary
的字样,也是同样的意思。
第三,当然,上面的Cookie弹框国内还没有这样来做,但是我们可以打开浏览器的阻止第三方Cookie
的选项,后续我们会在浏览器地址栏右侧发现一个捂住眼睛的图标。
比如我们常用的Chrome浏览器,打开设置 => 隐私和安全
,然后勾选阻止第三方Cookie
的选项;同时也要勾选Do Not Track
(不过这个选项对网站没有强制性)。
第四,除此之外,如果对浏览器隐私还是不放心,还可以使用额外的保护,通过安装额外插件,如著名的AdGuard和Adblick Plus等,会自动帮助你拦截一些广告,也能防止被标记和追踪;这里笔者也为大家整理准备好了两款软件的Chrome插件,直接在Chrome浏览器中添加安装即可,获取方式在文末。
这就没了?是的,没了,Cookie的影响其实比较有限,毕竟一般网站的Cookie中也不会存密码等个人信息,而且还经过了加密,能泄漏的用户信息比较有限,最多的就是记录用户的行为习惯、浏览记录等等数据。
相比Cookie,其实我们更应该当心那些带有“颜色”的钓鱼网站、中奖邮件以及不明来源的二维码等,更要避免在陌生的网站输入自己的真实信息,导致泄漏和诈骗的风险;诶,本文怎么从一篇技术性文章,写成了普法文章,最后居然还写成了防诈骗的了,不过没关系,快来将本文分享并艾特给你身边最容易上当受骗的朋友,提高警惕把。
本文所有软件敬请关注公众号【前端壹读】,后台回复关键词【防止广告追踪】即可获取。
参考
本网所有内容文字和图片,版权均属谢小飞所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。如需转载请关注公众号【前端壹读】后回复【转载】。