如何修复 WordPress 中的 HTTPS 混合内容警告或错误
已发表: 2018-10-05当您网站上的某些内容使用 SSL 证书进行保护和加密时,就会出现混合内容警告。
这会导致安全问题以及访问者可以看到的错误消息,表明您的网站不安全。
在这篇文章中,我将分享有关混合内容警告的更多详细信息、它们的含义、如何修复它们以及如何在您的 WordPress 网站上避免它们。
什么是混合内容?
您的网站由许多不同类型的内容组成:HTML 文件、图像、视频、样式表、脚本等等。 当用户在浏览器中键入 URL 时,浏览器会向服务器发出请求以返回文件。
由于网站中的内容量很大,您的浏览器可能必须向服务器发出多个请求才能正确加载所有内容。
虽然初始 HTML 文件将在安全连接下加载,但(如果您有 SSL 证书)后面的子资源请求可能无法安全返回。
HTTPS 和 HTTP 资源都加载到单个页面的结果是混合内容。
当某些 URL 未设置为通过 HTTPS 提供时,就会发生这种情况。 将 URL 从 HTTP 更新为 HTTPS 将解决该警告。 这将在后面详细解释。
如前所述,大多数浏览器都会显示混合内容警告,让用户知道他们加载的资源是不安全的。
混合内容的类型
如果您的网站遭到入侵,并非所有不安全的内容都具有相同程度的危险。 混合内容可以分为两类:被动和主动。
被动的
被动混合内容不与页面上的其他内容交互。 这包括图像、视频和音频内容等资源。 由于资源是静态的,因此如果攻击者控制了您的站点,他们所能完成的工作就会受到限制。
可能的黑客攻击可能包括更改图像、插入广告、破坏网站以及移动元素以混淆用户,例如保存和删除按钮图像。
此外,即使黑客没有更改您网站的内容,他们仍然能够跟踪用户模式并查看他们查看的页面、资源和产品。
积极的
活动混合内容与整个页面交互,包括样式表、脚本、iframe 和 Flash 资源等内容。 如果黑客掌握了这些信息,他们就可以对您的网站做很多事情。
攻击者将能够更改页面的任何内容,包括插入不同的内容、窃取密码甚至将用户重定向到恶意站点。
如果您有一些浏览器完全阻止网站访问的活动内容,则可能会阻碍用户体验以及访问者对您网站的信任。
为什么混合内容不好
使用 HTTPS 协议并加密浏览器和服务器之间的通信对于保护您的站点和用户免受攻击非常重要。
具有混合内容的页面仅被部分加密,这使得未加密的内容容易受到黑客的攻击。
根据内容是被动的还是主动的,您可能会在不知情的情况下放弃对整个网站的控制。
浏览器的行为方式
理想情况下,所有浏览器都会阻止所有危险内容。 但是,这并不可行,因为数百万人依靠互联网来行使言论自由。 但是,并不是每个人都有能力了解最新的安全实践。
相反,浏览器会阻止危险内容并允许用户请求不太危险的内容。 它使用混合内容规范来确定危险级别,并确定内容是可选择阻止还是可阻止。
根据 W3C 的混合内容规范,“当允许将其用作混合内容的风险超过了破坏 Web 重要部分的风险时”,内容是可选的可阻止的。
所有不被视为可选择性阻止的混合内容都是可阻止的。 因此,更新为遵循混合内容规范的浏览器会限制它。
值得注意的是,并非所有访问者都使用最新的浏览器。 在开发网站时,可以在每个浏览器的网站上找到涉及混合内容的特定浏览器行为。
分解内容
如果您一直收到这些混合内容警告,您可以采取一些步骤来帮助保护您的网站和内容。
把它备份
在对您的网站进行任何重大更改之前,请确保您有备份,以防万一出现任何问题。 在进行这些更改后,您还需要进行备份以锁定新的安全内容。
如果您在选择备份插件方面需要一些建议,请查看 5 个免费和最佳 WordPress 备份插件:权威列表。
一些插件甚至内置了安全扫描程序以确保您的内容安全。
扮演侦探
每个浏览器都有不同的通知您混合内容警告的方式。 但是,它通常在 URL 栏中找到,并带有更改的挂锁图标。

Chrome 版本 21 或更高版本在 URL 栏的右侧有一个带有红色框的灰色盾牌。
Firefox 有一个带有警告图标的小锁。 Safari 9.0.1 或更高版本不会显示混合内容警告,但内容可能仍会被阻止。
控制台方法
看到站点的混合内容警告后,您可以通过检查浏览器中的 JavaScript 控制台来确定哪些内容不安全。
访问控制台的方法因浏览器而异,您可以查阅浏览器的文档了解详细信息。
在 Chrome 中,右键单击窗口并选择Inspect 。
在 Inspector 窗口的顶部有一系列选项卡。 单击控制台。

如果页面上加载了任何内容并触发了混合内容警告,它会出现在控制台中。

该通知将告诉您使用 HTTPS 协议的原因以及您的浏览器认为可以选择阻止或阻止的内容。 然后,您可以记下所有不安全的内容,以便以后保护它。

请注意:JavaScript 控制台仅加载其所在页面的混合内容警告。 因此,您必须手动访问每个页面来测试您网站的内容。
源代码方法
您还可以通过查看其源代码来查看您网站的不安全内容。
在 Chrome 和 Firefox 中,右键单击您的网站并选择View Page Source 。 在 Safari 中,该选项称为Show Page Source 。
您的整个页面源代码将出现。 然后,您可以搜索“http://”以查看您网站上的哪些资源未使用 HTTPS 协议。
验证您的内容
您还可以将找到的不安全内容的 URL 放入浏览器的地址栏中。 但是,将“http://”替换为“https://”以确保该资源仍可通过安全连接使用。
如果您的网站加载没有错误,您可以进入您的文件和设置。 然后,将每个 URL 永久更改为安全的“https://”前缀。
搜索和替换插件
有许多插件和工具可以帮助您找到不安全的内容,然后单击几下即可将其替换。
更新您的 URL 后,可以删除插件选项。
为什么没有挂锁
为什么没有挂锁是一个允许您插入安全 URL 的网站,该网站将为您提供有关您的 SSL 证书以及您网站中的任何混合内容的报告。
它还检查 SHA-1 算法测试、POODLE 测试和不安全的表单调用。
如果您想保持站点文件精简,它是插件的绝佳替代品。 但是,它只是一个诊断工具,不会进行任何实际替换。
SSL 不安全内容修复程序
SSL Insecure Content Fixer 是一个插件,它将检查并找到您的不安全内容并为您修复它。
他们利用许多不同级别的深度来搜索从 URL 到检查网站的每个元素的不安全内容。
如果仍然出现混合内容警告,您可以从静态内容开始并从那里开始工作。
更好的搜索替换
Better Search Replace 插件可让您搜索一串文本,然后更新网站上的内容,以确保您在网站转移后正常运行。
您可以搜索“https://”前缀。 然后,自动将包含它的任何 URL 替换为具有“https://”前缀。
Better Search Replace 插件的一项简洁功能是能够进行试运行以确保您没有意外或无意更改任何内容。
这个插件还带有多站点支持。
内容:未混合
混合内容警告可能并不明显,但它有助于指出您网站的主要问题。 采取一些步骤来修改不安全的资源是值得的。 尤其是为了您的用户的安心,更不用说您自己的了。
您是否在 WordPress 网站上找到混合内容警告? 你能解决它还是遇到问题? 您最喜欢修复混合内容警告的解决方案是什么? 请随时在下面的评论中与我们分享您的经验。