通知: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/
Enforce deprecation of legacy TLS versions
这样你就可以先行测试了。
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
https://localhost:8443/CLodopfuncs.js?priority=1
这样就可以解决问题。
其中第2步,是为兼容 chrome 53 之前的版本准备的,因为 chrome 53 之前,不能在 https 的环境下,请求 http://localhost
下的资源,而在这之后,就可以请求http://localhost
下的资源,具体规范戳 MDN/Mixed_content 以及 w3c/webappsec-mixed-content
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
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">
其余戳 schedule
其实这种不兼容的更新,我不知道大家关不关注,也不知道能不能帮到一些人,反正先发出来看看,如果有人发现帮到了的话,欢迎留言告知。