避免 Chrome 中出现不安全警告

Eric Lawrence

正如我们在 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。