为确保用户的安全,Chrome浏览器将很多功能限制在仅允许“安全来源”。在互联网上,这通常意味着,这一功能仅在你的网站使用HTTPS时可用。
这是谷歌的一项倡议的一部分,这项倡议被称为“抛弃不安全来源的强大功能”。通俗来说就是,可以访问你的设备(如,本地存储器、麦克风)或敏感用户数据的浏览器功能只能被用于安全连接。
这不仅适用于现有的功能/API,还会适用于新出现的。一些功能,如谷歌倡导的Service Worker API,就是按照只用于安全连接的预期而设计的。
“安全来源”或“安全环境”包括多种不同的方案和主机。其中最受欢迎的就是HTTPS和localhost。所有安全来源都在这里被谷歌定义。此外,对于那些喜欢遵循互联网标准的人来说,还有一个W3C候选规范定义的安全环境。
对很多这样的功能来说,并没有给出一个明确的移除日期/版本。这是因为Chrome的开发人员要观察这些功能在现实世界中的使用情况,并且可能会决定延迟移除时间,直到开发人员做好准备。总的来说,他们希望等到一个功能的不安全使用在所有加载页面中所占比例低于0.03%时,才会取消该功能在不安全来源上的使用。
跟踪细节可能有点困难,所以我们把所有已经被限制到安全来源的和即将被废除的功能列在一张表上。
强大的功能?它们是什么?
什么让一个功能变得强大?
根据谷歌的定义,这是指任何“处理个人识别信息···处理类似凭证或支付手段的高价值信息···【或】为控制UA的可信/自身UI提供来源,访问用户设备上的传感器,或任何一般我们会为其提供用户可设置许可或权限的功能。”
在《连线》杂志去年的一次采访中,一位Chrome浏览器安全团队的领导者解释说,为“与移动应用竞争,”谷歌想要“使web页面能够更深地进入你的计算机的资源,同样访问那些移动应用通常所使用的敏感信息,例如位置和离线数据。但如果web的触角要扩展到我们的私人生活的话,他们必须是安全的。”这涉及很多使Chrome更安全的提议,安全的强大功能正是其中之一。
需要注意的是,下面的强大功能列表会随着时间而增长。任何将会要求用户授予权限的功能都很可能会是一个强大的功能。
请核对该文档,因为当谷歌发布新的信息时,该文档将会更新。
仅支持安全来源的功能
有一些功能目前被限制在HTTPS或其他安全来源。
功能/API | 时间 | 备注 |
getUserMedia
(网络摄像头和麦克风) |
版本47
~2015年12月 |
|
Geolocation | 版本50
~2016年4月 |
声明文本。
|
EME
(加密媒体扩展) |
版本58 ~2017年4月 |
声明文本。 |
Service Workers | 版本40
~2015年1月 |
首次应用后即已要求HTTPS。 |
Web Bluetooth | 版本56 ~2017年1月 |
首次应用后即已要求HTTPS。 |
WebCrypto | 版本37
~2014年8月 |
首次应用后即已要求HTTPS。 |
功能变化
这些是Chrome浏览器即将推出的版本中将会被限制在HTTPS或其他安全来源的功能。
功能/API | 时间 | 备注 |
应用程序缓存(AppCache) | 未知 | AppCache已被全面不赞成使用,今后也不再建议使用,即使是在HTTPS上。
Cache API作为Service Workers的一部分,应该作为替代方案使用。
在Chrome浏览器中,AppCache API在2016年7月版本52发布后已被不赞成使用,但尚未被移除。 |
设备移动/定向 | 未知 | |
全屏幕 | 未知 | |
通知 | 版本61
~2017年9月 |
官方平台状态。
目前如果使用该功能会显示控制台警告。 |
其他资源
Permission.site是一个网页,允许你测试HTTP和HTTPS上各种强大的、具有权限控制的功能。
稿源:The ssl store