写点什么

苹果完全屏蔽第三方 Cookie,七天清空本地存储

  • 2020-03-26
  • 本文字数:2206 字

    阅读完需:约 7 分钟

苹果完全屏蔽第三方Cookie,七天清空本地存储

苹果 WebKit 博客分享了智能跟踪预防技术(ITP)的最新进展:完全屏蔽第三方 Cookie,七天清空本地存储,简化开发人员工作。但也有开发者唱起了反调,觉得苹果只是说起来冠冕堂皇,实际上还是为了商业考虑。Why?

苹果完全禁止第三方 Cookie

3 月 24 日,苹果 WebKit 博客发表了一篇题为《Full Third-Party Cookie Blocking and More》的文章,正式宣布它开始默认完全屏蔽第三方 Cookie。苹果表示,“这是对隐私的一项重大改进,因为它消除了任何异常或允许进行一点跨站点跟踪的可能。”


此次更新涉及 iOS,iPad OS 13.4 和 macOS 上的 Safari 13.1,这项名为智能跟踪预防的(ITP)的技术首次发布于 2017 年,从当时的禁止大部分第三方 Cookie 已发展到今天的完全禁止第三方 Cookie。


据了解,Safari 是市面上第一个默认情况下完全禁止第三方 Cookie 的主流浏览器,除 Safari 之外只有 Tor 浏览器是相同的默认设置,而后者的市场份额很小。无独有偶,浏览器市场中绝对的霸主 Chrome 也在今年 1 月份宣布,未来 2 年内将逐步淘汰第三方 Cookie。



2 月全球浏览器市场份额



10 大浏览器型号


苹果表示,将向 W3C 的隐私小组分享相关经验,以帮助其他浏览器取得飞跃。

完全屏蔽的好处是什么?

WebKit 在博客中分享了完全屏蔽第三方 Cookie 的好处,具体而言有以下几个方面。


  • 消除了 Cookie Blocking 中的状态性;

  • 使跨站点泄露用户信息(例如登录指纹)不再可行;

  • 禁用通过第三方请求对网站的跨站点伪造攻击;

  • 删除使用辅助第三方域标识用户的功能。否则,即使用户删除第一方的网站数据,此类设置也可能保留 ID;

  • 简化了开发人员的工作,如果需要使用 Cookie,苹果建议通过 Storage Access API 进行。


鉴于大部分第三方脚本已转移到类似 LocalStorage 的第一方存储方式,苹果同时宣布所有脚本可写入的存储都只保留 7 天,7 天之后本地储存的数据将会被自动删除。受影响的存储格式包括 Indexed DB、LocalStorage、Media keys、SessionStorage 和 Service Worker registrations。


开发人员可以根据 OAuth 2.0 授权、Storage Access API 或临时兼容性修补程序的方式在过渡期解决此协议所带来的不便。


苹果的博文中提到,全球浏览器状态已成为 Web 社区隐私保护中的关键一环。自 2018 年欧盟最严数据保护法规《GDPR》生效以来,各大厂商纷纷在隐私保护的铁锤下吞下了巨额罚单:谷歌被处以 5000 万欧元罚款,英航、万豪等大企业也因数据泄露被处以数千万级别的罚款。


第三方 Cookie 由于其随着时间发展,收集大量用户信息的特点,成为了数据泄露的重灾区。专家表示,“在 HTML5 本地存储相关技术出现前,Cookie 是在客户端保存用户数据的唯一手段,但 Cookie 本身有很多问题,比如大小限制、明文存储等。不过,其最大的问题还是安全性。很多的安全漏洞都是源于 Cookie 被窃取。”


在《GDPR》生效以后,很多网站开始添加 Cookie 通知,但这对于隐私保护并没有起到多好的效果,于是苹果、谷歌等企业开始决定从源头上禁止第三方 Cookie 以解决这个问题。

来自开发者的不同声音

一位名为 Aral Balkan 的开发者在自己的博客上写下了一篇文章,标题名为《Apple just killed Offline Web Apps while purporting to protect your privacy: why that’s A Bad Thing and why you should care》。从标题上就可以看出观点的激进,而内容事实上也同样如此。


在他看来,完全屏蔽第三方 Cookie 以保护隐私只是看起来很美,而 7 天清空本地存储的规则却完全阻止了未来任何去中心化应用程序使用浏览器 (客户端) 作为对等网络中可信复制节点的可能。


更进一步,他认为苹果公司表面上表现得很关注隐私,实际上是因为不少厂商的做法侵犯了它将隐私作为商业模式的核心宗旨。


“你几乎可以认为,他们会用 App Store 来干点儿什么。”


Balkan 的观点虽然激进,但也并非全无道理。事实上,苹果一直以来饱受诟病的地方正是如此。此前 Hacker News 上就曾有开发者广泛讨论苹果在自己的平台上对于 Web 技术的层层阻碍。


用来构建 App 的编程语言背后的软件技术,可以使开发者在开发支持 Linux、Android、Windows 和 macOS 等操作系统产品时,“复用”他们为 Web 程序所编写的代码。但是苹果并不喜欢这种 Web 技术的循环再利用方式,它希望 Mac App Store 中塞满你在其他任何地方都找不到的应用程序,不想让在各个平台上都能见到的应用充斥 App Store。


比如之前苹果 Mac App Store 对 Electron 的禁令:这些应用程序“试图隐藏私有 API 的使用”。苹果的理由是这些私有化 API 存在潜在风险,这个理由本身并没有问题,但考虑到 Electron 多年来一直使用私有化 API 的相安无事甚至大幅改善了功耗,以及苹果推荐的工具让用户体验变差的事实,不得不引人深思。


苹果公司还阻碍了渐进式 Web 应用程序(PWA)的落地,这项技术与 Electron 一样,允许开发人员为桌面和移动端构建效果类似原生的应用。苹果的做法是只实现该标准的一部分,结果让它与完整标准相距甚远,使开发者难以依靠。如果用户能在 Chrome 或 Firefox 中启动 PWA 应用就不会出现这些问题,但是 iPhone 和 iPad 用户无法安装第三方浏览器,苹果公司也关闭了用户使用基于 PWA 技术的途径。


而在国内,小程序与苹果的爱恨情仇就更为广大开发者所知,这里不再赘述,参考:小程序:越狱未遂


就事论事而言,苹果此举值得称赞。但禁用第三方 Cookie 就能保护好用户隐私了吗?却也未必。


有人说,互联网开始变得不安全,就是因为搞安全的人出来了。此言诚不我欺。


2020-03-26 14:034609
用户头像
小智 让所有人认同的文字称不上表达

发布了 410 篇内容, 共 410.2 次阅读, 收获喜欢 1986 次。

关注

评论 1 条评论

发布
用户头像
微软赋能 web,苹果限制 web
2020-03-26 16:16
回复
没有更多了
发现更多内容

代理模式,薪资翻倍

android 程序员 移动开发

做android开发一直不相信35岁危机,好像被自己遇到了,android系统开发面试

android 程序员 移动开发

从面试无人问津到手拿百度offer,还原一段野生程序员的成长经历

android 移动开发

借腾讯开源 VasDolly,谈谈 Android 签名和多渠道打包的原理!

android 程序员 移动开发

做Android开发摸鱼是要付出代价的,被主管劝退,我后悔了

android 程序员 移动开发

做Android开发的,要做到什么水平,才能年薪百万,阿里P7深入Binder原理讲解

android 程序员 移动开发

ClickHouse用户资源隔离在 GrowingIO 的实践

GrowingIO技术专栏

Clickhouse 多租户 rbac 用户资源隔离 限流熔断

从简历被拒,到头条Android面试。二本渣渣如何在359天成功拿下offer

android 程序员 移动开发

他经历了什么?七年资深Android程序员想转学Java,网友纷纷留言劝阻

android 程序员 移动开发

你曾遇到的某大厂奇葩问题:Android组件化开发,组件间的Activity页面跳转

android 程序员 移动开发

使用DataBinding还在为数据处理头疼?这篇文章帮你解决问题

android 程序员 移动开发

今日头条APK瘦身之路,android组件化开发框架对比

android 程序员 移动开发

从月薪8k到年薪60w,闭关3个月靠“刷题,移动端开发技术

android 程序员 移动开发

MySQL锁的分类知多少

卢卡多多

MySQL锁 11月日更

做了3年大厂HR,这几种程序员我会直接pass掉!,网站开发前后端分离

android 程序员 移动开发

做了5年Android,靠着这份190页的面试资料,成功入职腾讯

android 程序员 移动开发

浮感

feitian

从另一个角度解读handler原理,android开发书籍pdf下载

android 程序员 移动开发

架构实战营毕业设计

宁静志远

做了5年Android,靠着这份面试题跟答案,我从12K变成了30K

android 程序员 移动开发

从 0 到 1,带你解剖 MVP 的神秘之处,并自己动手实现 MVP !

android 程序员 移动开发

从Android开发者的角度看一看IOS和Flutter中的列表实现

android 程序员 移动开发

新消费:如何让企业持续增长

石云升

学习笔记 11月日更 新消费

做了5年Android,靠着这份190页的面试资料,成功入职字节跳动

android 程序员 移动开发

从事这么久的Android 开发工作,知道自己处于什么段位嘛?

android 程序员 移动开发

linux系列之: 你知道查看文件空间的两种方法吗?

程序那些事

Linux 操作系统 程序那些事 11月日更

使用二阶贝塞尔曲线实现添加购物车动画,移动互联网开发专业

android 程序员 移动开发

做Android开发,如何使用 Kotlin 提高生产力!,android开发前景2019

android 程序员 移动开发

今日头条屏幕适配方案终极版正式发布!,移动应用开发平台

android 程序员 移动开发

从0开始写一个基于Flutter的开源中国客户端(4),android应届毕业生面试题

android 程序员 移动开发

从简历被拒,到拿下头条面试,我花了一年的时间(经验分享+面试题)

android 程序员 移动开发

苹果完全屏蔽第三方Cookie,七天清空本地存储_大前端_小智_InfoQ精选文章