2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

苹果完全屏蔽第三方 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:034573
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论 1 条评论

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

如何让您的wiki内容更高级?

Geek_da0866

深度解读 | 关于SBOM最基础元素,你需要知道的(Part I)

安势信息

开源 漏洞 SCA SBOM 最基础元素

Linux下Docker安装部署以及云原生的理解

Geek_acae888666

云原生 Docker 镜像

Spring Cloud Stream 消息发送

急需上岸的小谢

8月月更

分门别类输入输出,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang基本数据类型和输入输出EP03

刘悦的技术博客

golang 编程 教程 教程分享 golang 面试

借问变量何处存,牧童笑称用指针,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang类型指针(Pointer)的使用EP05

刘悦的技术博客

入门 教程 Go web 教程分享 入门介绍

舔狗至高境界,学会这个技巧让你从舔狗升华到海王【Python趣味爬虫】

Geek_ac6fb9

后端

Netty入门 -- 什么是Netty?

Bug终结者

Netty 8月月更

Go-Excelize API源码阅读(四)——Save()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

企业进行知识共享的好处有哪些?

Geek_da0866

抖音开启“818发现好物节”:电商平台造节活动何时休

石头IT视角

【高并发】别闹了,要实现亿级流量下的分布式限流,这些算法你必须掌握!!

冰河

并发编程 多线程 高并发 协程 异步编程

openEuler 资源利用率提升之道02:典型应用下的效果

openEuler

开源 数据 cpu 操作系统 openEuler

培训预告 | 企业应用现代化实用教程——DevOps方法论及最佳实践篇 8月11日上线

York

DevOps 云原生 团队建设 降本增效 应用现代化

直播 | 服务餐饮商户年交易额超 7000 亿,哗啦啦如何用 StarRocks 搞定实时报表

StarRocks

数据库

LeaRun模型驱动开发框架 重塑企业生产力

力软低代码开发平台

开源一夏 | 基于 Serverless一键体验FastAPI

六月的雨在InfoQ

阿里云 开源 Serverless FC 8月月更

阿里云数据库PolarDB开源人才培养计划发布!万元好礼等你来拿!

阿里云数据库开源

数据库 阿里云 开源 认证 polarDB

经验分享|低成本快节奏搭建企业知识管理系统的方法

Baklib

文档管理系统对于企业来说有哪些作用?

Baklib

超人飞来!Flutter 实现满屏的力量感动画!

岛上码农

flutter ios 移动端开发 安卓开发 8月月更

兼容并蓄广纳百川,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang复合容器类型的声明和使用EP04

刘悦的技术博客

golang go doc 教程 教程分享 golang 面试

头脑风暴:打家劫舍2

HelloWorld杰少

算法 LeetCode 动态规划 8月月更

SRv6故障管理

穿过生命散发芬芳

8月月更 SRv6

Java 多行字符串

HoneyMoose

Unity Metaverse(四)、接入环信IM SDK 实现用户登录注册

CoderZ

Unity 登录验证 环信im 8月月更

开源一夏 | jQuery对于链和捕获的实战研究

恒山其若陋兮

开源 8月月更

什么是Shell?从小白到入门你只差一个它

Albert Edison

Linux centos 运维 shell脚本编程 8月月更

MySQL权限管理

武师叔

8月月更

微服务架构的核心关键点

阿泽🧸

微服务架构 8月月更

低代码实现探索(四十七)低的不止前端,还有后端

零道云-混合式低代码平台

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