Chrome 84、85 的三个不兼容更新,CLodop 中招,跨站 SSO 和 第三方 cookie 会是重灾区
2020/7/13 5:09:35
本文主要是介绍Chrome 84、85 的三个不兼容更新,CLodop 中招,跨站 SSO 和 第三方 cookie 会是重灾区,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
TLS 1.0 and TLS 1.1 政策变更
通知:https://chromestatus.com/feat...
通知内容:
In M-84, Chrome will show a full page interstitial warning on sites that do not support TLS 1.2 or higher.
翻译下,即
在 Chrome 84 里,chrome 会对不支持 TLS1.2 的站点,插入一个警告
简要解释下,对于 https 的链接,其中的安全层协议是基于 TLS 的,当前的不少站点,在服务器的配置都是 TLS1.2(十年前就出来了)及以上的,但是也有部分遗留站点是基于 TLS1.0 和 1.1 的,而 TLS1.0 和 1.1 又有不少安全漏洞,考虑到基于 TLS1.0 和 1.1 的链接占比只有 0.5%,所以 chrome 觉得现在废弃的时机到了。
影响范围
基于 TLS1.0 和 1.1 的站点,如果你在 chrome 84 里直接访问可能会这样
如果你有请求这样的脚本文件,自然会请求失败。
实际上,如果你的 chrome 在 72 以上,最好是接近 84,那你现在就能在控制台上看到这样的警告
提前测试
如果你想提前开启这个特性,
- 进入
chrome://flags/
- 搜索并 enabled
Enforce deprecation of legacy TLS versions
- 重启浏览器
这样你就可以先行测试了。
中招的 CLodop
Lodop 作为一款 web 打印插件,可能有不少人在用,正好发现他中招了,所以我就来提下。
Lodop 的 web 打印插件,在处于 https 的环境下时,开发大概率会在代码中请求 https://localhost:8443/CLodopfuncs.js?priority=1
的文件,这个https 链接,正好是基于 TLS1.0 和 1.1 的,所以在 chrome 84 下,就可能会请求失败,导致原有的打印功能直接失败,提示用户未安装。
官方已知、但是并没有升级应用程序来解决这个问题,后来经过查找,我们发现了一个方法可以规避这个问题。
- 直接请求
http://localhost:18000/CLodopfuncs.js?priority=1
- 如果 1 失败请求
https://localhost:8443/CLodopfuncs.js?priority=1
这样就可以解决问题。
其中第2步,是为兼容 chrome 53 之前的版本准备的,因为 chrome 53 之前,不能在 https 的环境下,请求 http://localhost
下的资源,而在这之后,就可以请求http://localhost
下的资源,具体规范戳 MDN/Mixed_content 以及 w3c/webappsec-mixed-content
另外的不兼容更新
跨站 cookie 默认被禁
Chrome 84 还有一项政策更新,sameSite。关于这个其官网有重点介绍,国内的云飞大佬,也有介绍 SameSite Cookie,防止 CSRF 攻击。
大意就是,跨站 cookie 会被严格限制,大部分的跨站 cookie 默认会失效,跨站的 SSO(单点登陆) 和 第三方的 cookie 会是重灾区,不过 chrome 也给出了方案,具体大家戳 链接 去看。
这里也可以给个简单粗暴的方案,升级 https,然后 set-cookie
由
Set-Cookie: widget_session=abc123;
改为
Set-Cookie: widget_session=abc123; SameSite=None; Secure
跨源时,referrer 默认只发送源
Chrome 85 会更新 Referrer Policy
的默认值,详情戳 Referrer Policy: Default to strict-origin-when-cross-origin。
简要概述下,就是默认情况下,原来在跨源情况下,referrer
是可以拿到一个较为完整的 url 的(譬如 https://www.icourse163.org/learn/HIT-437006?tid=1450320464
),现在只能拿到 origin(譬如 https://www.icourse163.org
),对于依赖于 referrer
请求头的一些应用,可能会出问题,譬如第三方、SSO(单点登陆)等。
要解决这个问题,在 html 上加一行代码就行。
<meta name="referrer" content="no-referrer-when-downgrade">
Chrome 发布时间
- Chrome 84 7/14 发布
- Chrome 85 8/25 发布
其余戳 schedule
后话
其实这种不兼容的更新,我不知道大家关不关注,也不知道能不能帮到一些人,反正先发出来看看,如果有人发现帮到了的话,欢迎留言告知。
这篇关于Chrome 84、85 的三个不兼容更新,CLodop 中招,跨站 SSO 和 第三方 cookie 会是重灾区的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01前端项目部署入门:新手必读指南
- 2024-11-01富文本编辑器学习:从入门到初步掌握
- 2024-11-01前端项目部署学习:从入门到实践
- 2024-11-01动态主题处理:WordPress新手指南
- 2024-11-01前端项目部署指南:从零开始的部署教程
- 2024-11-01Element-Plus入门指南:轻松开始你的前端项目
- 2024-11-01TagsView标签栏导航入门教程
- 2024-11-01富文本编辑器课程:新手入门教程
- 2024-10-31前端项目部署课程:从入门到实践指南
- 2024-10-31用Angular实现服务器端渲染以提升SEO效果