为啥 Chrome 本身允许网站访问 chrome-extension://*?

Posted

技术标签:

【中文标题】为啥 Chrome 本身允许网站访问 chrome-extension://*?【英文标题】:Why does Chrome itself allow websites to access chrome-extension://*?为什么 Chrome 本身允许网站访问 chrome-extension://*? 【发布时间】:2022-01-23 00:04:35 【问题描述】:

here 的文章展示了一种方法,如果“web_accessible_resources”(在 Chrome 的情况下)允许,网站可以确定用户是否安装了特定的扩展程序。我的问题是为什么浏览器不自己过滤这些请求?我想出的唯一用例是对用户进行指纹识别。

【问题讨论】:

【参考方案1】:

扩展的作者有意在其 manifest.json 中列出了这些可访问的资源。这是扩展程序用来向网页添加 UI 或字体/图像等的功能。

仅由于 Chrome(和基于 Chromium 的浏览器)中的糟糕实现,指纹才成为可能,最终在 ManifestV3 中将是 fixed,因此扩展程序可以设置 use_dynamic_url

Firefox WebExtensions 不受影响,因为 Firefox 使用唯一的每台机器 UUID,more info。

【讨论】:

以上是关于为啥 Chrome 本身允许网站访问 chrome-extension://*?的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 允许 ajax 访问 http 外部来源,而 firefox 不允许 - 为啥?

Chrome不允许HTTP托管网站访问相机和麦克风

如何让chrome支持ajax本地访问

Chrome 66将导致国内网站大面积无法正常访问,谨慎更新 | 经验

允许访问单个 URL Android Chrome

如何让开发版chrome访问不安全的https链接