写点什么

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

2020 年 3 月 26 日

苹果完全屏蔽第三方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 年 3 月 26 日 14:033349
用户头像
小智 前 InfoQ 主编

发布了 403 篇内容, 共 325.1 次阅读, 收获喜欢 1784 次。

关注

评论 1 条评论

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

Gitlab 部署配置

wong

gitlab

.net core快速开发平台,learun自主工作流引擎设计规范

力软.net/java开发平台

直播平台在贝壳找房中的实践与运用

陈威威

架构 分层架构 直播 分层思维 多元场景应用

如何设计一个优秀的组件

Lee Chen

前端进阶训练营

七的婚姻生活

徐说科技

微服务架构下你的数据一致了吗?

码猿外

架构 微服务 数据一致性

如何将FastDFS存储数据平滑迁移至XSKY对象存储?

XSKY融合存储

数据处理能力相差 2.4 倍?Flink 使用 RocksDB 和 Gemini 的性能对比实验

Apache Flink

flink

什么是深度强化学习?

华章IT

学习 智能体

零基础建网站必备技能,看这一篇就够了

北柯

程序语言 网站搭建 编程网站

【译】代码中如何写出更有意义的命名

Jackey

代码质量

Google Protocol Buffer 学习笔记

半亩房顶

protobuf

设计模式之假如需要一百万个对象

架构师修行之路

1.1 了解Spring框架 -《SSM深入解析与项目实战》

谙忆

1.2 了解MyBatis -《SSM深入解析与项目实战》

谙忆

JVM系列之:再谈java中的safepoint

程序那些事

Java JVM JIT safepoint

C/C++陷阱与套路,当年就是折在这些地儿…

华为云开发者社区

c++ 设计 编辑 程序 陷阱

英特尔十代酷睿携手机械革命X3-S 纵享顺畅游戏之巅

最新动态

信创舆情一线--工信部开展网络安全技术应用试点示范工作

统小信uos

Jessie’s产品经理系列1-基础能力篇

架构5班杨娟Jessie

产品经理 能力模型

SQL的三十而已—SQL30问

大唐小生

sql 技术人生

有它的加持,单机玩转百亿大数据不是梦!

易观大数据

LeetCode题解:24. 两两交换链表中的节点,迭代,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

CDN百科10:快速上手阿里云DCDN全站加速,最新配置与购买优惠教程

阿里云Edge Plus

CDN 直播 网页加速

设计模式中的单例模式并不完美

架构师修行之路

设计模式 单例模式 23种设计模式 高并发系统设计

设计模式之——单例模式你真的会吗?

诸葛小猿

设计模式 单例模式 Singleton 饿汉式 懒汉式

《SSM深入解析与项目实战》目录与说明

谙忆

联盟链有自己的路要走

Leonbond

区块链 联盟链 公有链

2.1 类加载器、 双亲委派模型 -《SSM深入解析与项目实战》

谙忆

ChaosBlade:从零开始的混沌工程(五)

郭旭东

Kubernetes 云原生 混沌工程

操作系统和并发的爱恨纠葛

cxuan

Java 并发

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