当前位置:网站首页>Chrome 94 引入具有争议的 Idle Detection API,苹果和Mozilla反对
Chrome 94 引入具有争议的 Idle Detection API,苹果和Mozilla反对
2022-04-23 20:48:00 【不叫月红】
随着Chrome软件版本更新由6周调整为4周,在Chrome 93 刚面世不到3周的时间,谷歌便正式发布了可以同时适配PC和移动端的Chrome 94 稳定版,其中值得关注的功能更新有:
- 弃用 AppCache 功能,该功能可以让开发人员指定浏览器应缓存哪些文件以供离线用户访问。谷歌推荐大家使用Service Workers 来代替 AppCache;
- 引入 Idle Detection API;
- 引入虚拟键盘 API(VirtualKeyboard ),目的是让开发者可以设置虚拟键盘位置,并且对外形可以进行控制;
- JavaScript Self Profiling API,方便开发人员从用户那里收集 JavaScript 性能配置文件,这一功能也得到了微软、Elasitc、Dropbox的响应与支持,具体详情可以点击Github查看。
关于Chrome 94稳定版的更多功能介绍,大家可以前往:https://www.chromestatus.com/features/5680057076940800 查看。接下来我们来谈谈分歧跟争议比较多的 Idle Detection API 功能。

Idle Detection API是什么?

Idle Detection API即空闲检测 API,当检测到用户空闲时通知应用,根据鼠标键盘停止使用、锁屏、从当前应用运行窗口切换出去等信号来判断用户是否处于空闲状态,开发人员可以自定义阈值触发通知。这一设计主要适用于多用户协作,比如会议,聊天和游戏等。在Chrome 94 中默认启用,用户也可以在自定义设置中取消。
支持 vs. 反对
针对这个饱受争议的功能,有人支持,也有反对,来自Slack 和 Google Chat 的开发人员表示,这些事件发生在浏览器之外,而不是保留给浏览器本身使用,“促进协作的应用程序需要更多关于用户是否空闲的全局信号,而不是仅考虑用户与应用程序自己的选项卡交互的现有机制提供的信号”。
而来自Mozilla和苹果的工作人员并不这么认为。

Mozilla 网络标准负责人 Tantek Çelik 认为该 API 是有害的,需要进一步孵化,并重新考虑更为简单、侵入性较小的方法来替代。此外,恶意网站可以使用这种粗略的模式来秘密地最大化本地计算资源,在未经用户同意甚至可能不知情的情况下进行工作计算、浪费电力(用户成本、增加碳足迹)。他认为空闲检测 API 是对用户监视和控制都侵犯了用户隐私,这是一个“监视资本主义的机会”。
Chromium 团队提案成员 Reilly Grant 希望 Safari 浏览器引擎WebKit团队对该功能发表意见,他邮件列表中表示:“目前Idle Detection API 已经包含在此 API 列表(WebKit 跟踪预防)中,但由于指纹安全问题,你们拒绝了该API,我想了解一下该团队基于空闲检测 API 可预见的指纹识别风险的详细。”
苹果公司 Ryosuke Niwa 在邮件中回复到:“这是一个明显的隐私问题,我们担忧的并不仅限于指纹,该 API 允许网站观察用户是否在设备附近,如果用户离开设备时,很容易被用来挖掘比特币或者部署安全漏洞等操作。站在用户角度,他们并不明白为什么要交出这样的操作权限。”对此,Grant 补充到:他们正在开展一项以“定义限制允许站点在后台执行的工作的语义(define the semantics for throttling the work that sites are allowed to do in the background)”来对抗加密挖矿威胁,并且该 API 并不会给非活动设备用户发送通知。
但 Niwa 回答说:“这里或其他地方提出的用例都没有说服力,你在这里提出的隐私或安全缓解措施和我在其他地方发现的都不够充分。”
总结
尽管空闲检测 API 存在很多争议,但谷歌仍然在 Chrome 94 版本中上线了该功能。对此,你是如何看待这一API,你会升级到 Chrome 94 吗?欢迎大家投票。
参考链接:
版权声明
本文为[不叫月红]所创,转载请带上原文链接,感谢
https://blog.csdn.net/mengyidan/article/details/120431040
边栏推荐
- Queue template code
- C knowledge
- Addition, deletion, modification and query of advanced MySQL data (DML)
- Latex formula
- wait、waitpid
- Mysql database common sense storage engine
- Go zero framework database avoidance Guide
- Graph traversal - BFS, DFS
- UKFslam
- The iswow64process function determines the number of program bits
猜你喜欢

Win 11K in 100 days, super complete learning guide for job transfer test

Matlab matrix index problem

Fastdfs mind map

Resolve the error - error identifier 'attr_ id‘ is not in camel case camelcase
![[matlab 2016 use mex command to find editor visual studio 2019]](/img/34/dd883f0ce4358234eb694287228687.png)
[matlab 2016 use mex command to find editor visual studio 2019]

3-5通过XSS获取cookie以及XSS后台管理系统的使用

How to configure SSH public key in code cloud

Minecraft 1.12.2模组开发(四十三) 自定义盾牌(Shield)

Unity solves Z-fighting

Express③(使用Express编写接口、跨域有关问题)
随机推荐
Queue template code
A login and exit component based on token
Keywords static, extern + global and local variables
Easy to use nprogress progress bar
Preliminary understanding of cache elimination algorithm (LRU and LFU)
Commande dos pour la pénétration de l'Intranet
LeetCode 1337、矩阵中战斗力最弱的 K 行
Unity solves Z-fighting
How to do after winning the new debt? Is it safe to open an account online
[matlab 2016 use mex command to find editor visual studio 2019]
UnhandledPromiseRejectionwarning:CastError: Cast to ObjectId failed for value
Come in and teach you how to solve the problem of port occupation
MySQL进阶之数据的增删改查(DML)
Reentrant function
MySQL进阶之表的增删改查
Leetcode 1351. Negative numbers in statistical ordered matrices
Gsi-ecm digital platform for engineering construction management
MySQL进阶之常用函数
打新债中签以后怎么办,网上开户安全吗
How many hacking methods do you know?