避免 Chrome 中出现不安全警告

9 月份宣布的那样,Chrome 即将在网址栏中将包含密码信用卡输入字段的非安全网页标记为不安全

本文档旨在帮助 Web 开发者更新其网站以避免出现此警告。

启用警告

Chrome 56 计划于 2017 年 1 月发布,默认情况下,系统会为所有用户启用警告。

如需在此之前测试即将发布的用户体验,请安装最新的 Google Chrome Canary build。

如需将 Chrome 配置为显示 2017 年 1 月显示的警告,请打开 chrome://flags/#mark-non-secure-as 并将 Mark non-secure origins as non-secure 选项设置为 Display a verbose state when password or credit card fields are detected on an HTTP page。然后重新启动浏览器。

您可以在此页面上查看浏览器警告行为的示例。

当显示“不安全”状态时,开发者工具控制台会显示消息 This page includes a password or credit card input in a non-secure context. A warning has been added to the URL bar.

控制台警告示例。

解决警告

为了确保您的网页不会显示“不安全”警告,您必须确保所有包含 <input type=password> 元素的表单以及任何被检测为信用卡字段的输入内容都存在于安全源中。这意味着,顶层网页必须采用 HTTPS 协议;如果 input 位于 iframe 中,则该 iframe 也必须通过 HTTPS 提供。

如果您的网站在 HTTP 网页上叠加了 HTTPS 登录框架...

通过 HTTP 进行的 HTTPS 登录示例。

您需要将网站更改为对整个网站使用 HTTPS(理想情况),或将浏览器窗口重定向到包含登录表单的 HTTPS 页面:

通过 HTTPS 进行的 HTTPS 登录示例。

长期使用 - 随时随地使用 HTTPS

最终,Chrome 会针对通过 HTTP 提供的所有网页显示不安全警告,无论这些网页是否包含敏感输入字段。即使您采用上述更具针对性的解决方法,也应计划迁移网站,让所有网页都使用 HTTPS。