行业新闻与博客

如何在 HTTPS 网站上查找和修复混合内容警告

仅支持 HTTPS 并不总是足够的-您还需要知道如何识别和修复混合内容错误

如果您最近将网站从不安全的 HTTP 连接迁移到更安全的 HTTPS 连接,则可能仍然会遇到接收混合内容警告的问题。更糟糕的是,您的站点可能对站点访问者而言是不安全的,从而导致他们快速单击“后退”按钮并在其他位置进行浏览。



也就是说,在 Google Chrome 的最新版本 Chrome 79 中,出现了 HTTPS 连接上混合内容警告的真正问题。在此新版本中,某些继续通过不安全的连接加载的内容将被自动阻止。它将使用 TLS 1.0 或 1.1 的网站标记为“不安全”,并且不再显示锁定图标。



随着 Chrome 81(计划于 3月某个时候发布)的进一步发展,Google 将完全取消对旧版 TLS 协议的支持,该协议默认情况下会阻止所有非安全内容。换句话说,您网站上未通过 HTTPS 加载的内容将完全不会加载,您的网站访问者也不会看到此内容。



如果您要确保网站的所有内容均通过安全连接加载,并且网站访问者可以看到所有内容,请继续阅读。今天,我们将解释什么是混合内容或不安全内容,为什么会出现问题,以及在 HTTPS 网站上看到混合内容警告时如何查找和修复它们。



让我们将其散列出来。



什么是混合内容?

根据 Google 的说法,当网站上的 HTML 通过安全的 HTTPS 连接加载(由于最近安装的 SSL 证书)而其他内容(例如图像,视频内容,样式表和脚本)继续通过不安全的 HTTP 加载时,就会出现混合内容连接。这导致某些 Web 内容安全地加载,而某些 Web 内容不安全地加载。



因此,名称为“混合内容”。



内容混合或不安全的原因是,无论内容本身是否安全,所有内容都通过安全的 HTTPS 连接加载。发生这种情况时,现代浏览器(例如 Google Chrome)会向试图查看该网站包含不安全内容的 Web 内容的用户显示警告。







通过 HTTPS 连接加载的安全网站具有以下优点:



身份验证。让网站访问者放心,当他们进入您的网站并与您的网站内容互动时,他们是安全的,尤其是当您经营一个共享财务信息的在线商店时。此外,请为网站访问者验证他们是否在他们想要的网站上,并且尚未重定向到恶意网站。

数据的完整性。直观地告诉网站访问者,无论他们对您的网站采取什么行动,他们的个人和财务信息都是安全的,并且不受黑客的攻击。另外,使浏览器能够检测黑客是否更改了浏览器收到的任何数据。换句话说,请帮助用户相信黑客没有将通过您的在线商店支付的款项重定向到另一个帐户。

匿名。向网站访问者保证,他们在您网站上的行为不会被他人拦截和恶意使用。

简而言之,HTTPS 允许网站所有者保护其数据并与访问他们网站的用户建立信任关系,以便他们可以继续建立自己的品牌和业务。



为什么混合内容是安全问题?







如果混合内容通过安全连接加载,您可能会问自己为什么如此重要。毕竟,无论是否混合使用 HTTPS 连接,都应该确保资源的安全,对吗?



错误。



每当网页上的内容混合或不安全时,整个网站都容易受到攻击。虽然它不能使网页公开所有类型的网络犯罪,但会削弱网站的整体安全性。这意味着,如果黑客违反了加载混合内容的网站,则他们可能能够控制整个页面,而不仅是不安全的资源。



尽管大多数现代浏览器会在用户访问网站之前显示混合内容警告,以便人们查看,但事实是,其中许多警告来得太晚了。实际上,通常,黑客已经入侵了混合内容的网站,并开始造成破坏,而网站所有者或访问者却不知道发生了什么。



以下是 HTTPS 网站上混合或不安全的内容成为安全问题的其他一些方法:



黑客可以拦截 HTTP 请求以加载图像并将站点的图像换成黑客更喜欢的另一个图像。

您的“保存”和“删除”按钮图像可以切换,从而导致站点访问者意外地保存或删除内容。

您的网站的前端可能会污损,尤其是当它带有低调或不适当的图像或文字时,这尤其糟糕。

黑客可以拦截书面内容并将其完全重写。

密码,会话 cookie 和其他登录凭据可能会遭到破坏,并落入网络罪犯的手中。

您的网站访问者可以被重定向到另一个网站,而无需了解其他任何信息。

浏览器会尽力阻止网站上最危险的混合内容类型。但是,不可能阻止所有这些操作(尽管这似乎是一个显而易见的解决方案),因为这么多完善且流量很高的网站为网站访问者提供了混合或不安全的内容。阻止所有这些将导致崩溃并引起很多问题。



就是说,您可以期望随着新版本的发布,Chrome 等流行的浏览器将继续阻止越来越多的混合内容。



如何在 HTTPS 网站上查找和修复混合内容警告

如果您采取了主动性的方法来保护站点安全并在站点上安装了 SSL 证书,请感到自豪。从数据谷歌的公开报告显示,台式机用户负荷超过一半的页数越多,他们参观了 HTTPS 连接,花费超过的时间用于 HTTPS 网页三分之二。







不幸的是,尽管随着时间的流逝,越来越多的站点所有者正在采取措施保护其移动站点的安全,并且全球范围内的移动使用量继续攀升,但数据加密在移动设备中的普及程度却较低。



但是,仅因为您通过加密站点数据来做正确的事情,并不意味着您的站点内容是完全安全的。这就是为什么必须首先努力防止在网站上加载混合内容的原因。否则,该 SSL 证书对您不利。



让我们看看如何使用 Google Chrome 浏览器在 HTTPS 网站上查找和修复混合内容加载。



第 1 步:访问您的网站

访问您的网站以发现混合或不安全的内容警告似乎很明显。但是,实际上,您有多少次像访问网站的访客那样随意访问自己的网站?



请务必先检查您的站点,以查看您是通过安全的 HTTPS 连接加载的是混合还是不安全的内容,这一点很重要。请记住,如果您的网站上存在混合内容,则 Chrome 浏览器会显示混合内容警告。



要查看 Chrome 的混合内容警告,请先单击您要检查的网页。然后,右键单击并向下滚动到“检查元素”。完成后,选择标有 Console 的选项卡。浏览器将检测混合内容并显示如下警告:







如果混合内容非常严重(这意味着黑客可以完全控制整个网页),则混合内容警告将显示为红色:







Chrome 开发者工具只会为您当前正在查看的网页显示混合内容警告。这意味着如果您要修复网站上所有混合内容的警告,则必须手动检查网站上的每个网页。如您所见,如果您不及早发现问题,这将是一项非常耗时且乏味的任务。



步骤 2:验证您网站的网址

除了检查整个网站上的源代码外,另一种确定网站上不安全内容的可靠方法(尽管具有 HTTPS 连接)是检查网站的 URL。



如果您知道自己的站点上有活动的 SSL 证书时发现某些站点的 URL 是 HTTP 而不是 HTTPS ,则说明站点访问者在前端加载的混合内容可能存在问题。最好保留您网站上正在加载混合或不安全内容的所有网页的列表。在解决所有发现的警告时,这将帮助您保持井井有条。



步骤 3:比较 HTTP 与 HTTPS 网页

一旦您知道 HTTPS 网站上正在加载混合内容,接下来要做的就是将不安全的 HTTP 网页与安全的 HTTPS 网页进行比较(两者均使用相同的 URL)。如果网页在 HTTP 和 HTTPS 上相同,请继续执行下一步。这意味着 Google Chrome 浏览器不会阻止任何内容,您可以继续前进。







但是,如果看到警告或内容不会通过 HTTP 连接显示,则应执行以下一项操作:



完全删除不会通过 HTTP 显示的资源(例如,图像,视频等);

包括来自其他主机的资源(如果有);要么

直接下载资源并将其托管在您的站点上。

步骤 4:更改网址并保存

如果您的网站通过 HTTP 和 HTTPS 连接都呈现相同的内容,则下一步是将 URL 从 http:// 更改为 https://,保存源文件并重新部署更新的文件。



然后,在出现混合内容错误的网页上单击,并确保已解决该错误并通过安全的 HTTPS 连接进行呈现。



防止 HTTPS 网站上出现混合内容警告的方法

在您的网站上安装 SSL 证书并尽管安全连接仍会继续收到混合内容警告,这可能令人沮丧。因此,有时需要采取一些其他措施来保护您的网站并保护您的网站访问者。



1.加载网页时始终使用 HTTPS URL

请务必将 HTTPS 连接(https://)应用于网站上的所有网页。如果您注意到您的网页正在通过不安全的连接加载,尽管您的站点上有活动的 SSL 证书,则您需要解决此问题。如果这是为您提供 SSL 证书的网络托管提供商的支持团队,则可能意味着与他们保持联系。



2.使用仅内容安全策略报告的标题

如果您想自动收集网站上混合内容的报告,则可以考虑将此代码段添加到网站的 HTTP 响应标头中:



尽管这在解决混合内容成为问题之前并不是 100%可靠,但确实可以帮助那些拥有大型网站的人掌握不安全的内容。



当网站访问者登陆到包含混合内容的网页时,报告将发送到 https://example.com/reportingEndpoint,警告您某些内容违反了内容安全策略。



该报告将包括:



相关网页的网址,以及

违反策略的子资源。

通过将报告端点配置为记录这些报告,您可以跟踪网站上的混合内容,而不必亲自访问每个网页。就是说,这种策略唯一可行的方法是网站访问者登陆具有混合内容的网页。更不用说,您只会收到有关流量中等至流量高的网页的报告,这意味着在您意识到之前,可能会加载混合内容一段时间。



3.使用“升级不安全请求” CSP 指令

在 HTTPS 站点出现问题之前自动检测并修复混合内容警告的另一种方法是使用 upgrade-insecure-requests 指令工具。该工具告诉浏览器在发出任何用户请求之前先升级所有不安全的 URL。



换句话说,在为网站访问者加载网站前端之前,将确保不安全的 URL 安全。



为此,请将此元标记代码段添加到文档的 HTML <head>部分:



<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

请记住,如果通过 HTTPS 连接通过 HTTP 加载的资源在 HTTPS 上不可用,则此工具将无法使用。因此,该资源将不会升级为安全资源,也不会为站点访问者加载。尽管这意味着网站访问者会错过您网站的某些内容,但这也意味着他们在浏览您的网站时仍然保持安全。



4.使用在线工具识别混合内容警告

如果您的网站很大,并且没有时间和精力来完成上述所有操作,则可以始终使用网络搜寻器服务来帮助识别 HTTPS 网站上的混合内容警告:



为什么没有挂锁?此免费工具可让您快速检查您的 URL,以确保在您的网站上没有发现不安全的链接。

HTTPS 检查器。该“免费”软件适用于 Windows,Mac 和 Ubuntu Linux,非常适合

检查 Chrome 的“不安全”警告,

帮助您为 HTTPS 迁移做准备,

一次扫描多个域,并且

检查与主要进口或内容变更有关的问题。

混合内容扫描。混合内容扫描位于 GitHub 中,可让您扫描 HTTPS 网站中的混合内容。扫描您的网站后,您将看到引起混合内容警告的 URL 列表。您会看到不同颜色的警告,因此可以轻松地找出导致网站问题的原因。

JitBit Scanner:此免费工具可扫描您的整个网站,甚至跟踪内部链接,以查找触发混合内容警告的不安全图像,脚本和 CSS 文件。也就是说,使用此工具最多只能扫描 400 个网页。

包起来

最后,拥有 HTTPS 网站比以往任何时候都更加重要。当您的网站不安全并且使用 HTTPS 连接时,Google Chrome 会第一个告诉网站访问者。如果您的网站不安全,那么您的搜索排名就会下降,并且如果您无法向他们证明他们在浏览网站时的安全性,那么人们将很难信任您的品牌或企业。



一个免费的 SSL 证书通常包含在网络托管计划中,但是高级证书的费用可能高达数百或数千美元。尽管没有一个正确的答案来选择哪种证书类型(因为每个人的需求都不同),但是请记住,任何免费的 SSL 保护通常都仅是域验证的(即最不安全的选项)。这是 SSL 证书类型的比较,可让您大致了解价格,功能和提供的安全级别。



如您所见,仅在网站上启用 HTTPS 是不够的。如果您通过安全的 HTTPS 连接加载了混合内容,则您将继续收到混合或不安全的内容警告,并将人们拒之门外。因此,请花点时间检查和监视您的网站中的不安全内容。因为您可以打赌,即使有些网站访问者仍然会冒着带有混合内容警告的风险访问您的网站,所以流行的浏览器(例如 Chrome)将继续打击不安全的网站,并阻止用户按照您希望的方式与他们互动。



本文由机器译制