在当今的互联网中,网站加密几乎是强制性的。 如果不对网站进行加密,浏览器就会将其标记为不安全。 你可以拥有网络上最原创的内容,但如果没有 SSL,你的访问者看到的将是令人不快的安全警告。
SSL 证书已成为网站建设的必要条件,但对于技术水平不高的用户来说,管理 SSL 证书仍是一项挑战。 商业证书的安装可能会给没有经验的人带来一些障碍,这不能怪他们。
几乎所有服务器和电子邮件客户端都有关于如何管理 SSL 的具体说明,如果你不熟悉它们的控制面板或命令行,按正确顺序上传证书可能会很麻烦。
更恼人的是,在安装证书后,SSL 连接会出现错误。 最常见的 SSL 问题之一是混合内容错误。 在本文中,我们将探讨什么是混合内容,以及如何手动或借助SSL 工具进行修复。 让我们开始吧!
什么是混合内容?
当通过加密 HTTPS 连接加载初始 HTML,但通过未加密 HTTP 连接加载视频、图像、脚本、样式表等其他资源时,网站上就会出现混合内容。 当 HTTP 和 HTTPS 请求发生在同一页面时,浏览器可能会阻止内容或显示安全警告,提醒用户该页面包含不安全的资源。
混合内容有两种类型:被动型和主动型。
1.被动混合内容
被动混合内容适用于所有不与页面直接互动的资源。 这些文件可以是您的图像、视频或音频文件。 如果黑客使用中间人攻击拦截您的 HTTP 请求,他们就可以更改您的图片,用攻击性内容或广告替换产品,或调换保存和删除按钮,从而导致用户执行意外操作。
即使攻击者没有更改您的内容,他们仍然可以利用混合内容请求跟踪您的用户及其行为。 攻击者可以根据浏览器加载的不安全资源看到用户访问的网页和产品。 下面是几个通过混合内容的例子。
2.活性混合成分
主动混合内容比被动混合内容更危险,因为它与整个页面互动,让攻击者可以自由地做任何事情。 活动混合内容包括样式表、脚本、Flash 资源和浏览器加载的其他代码。 如果攻击者截获了活动的混合内容,他们就能完全访问和控制你的网站。 最坏的情况是,它们会窃取用户的登录凭证和密码,或将用户重定向到一个完全不同的网站。 由于主动混合内容威胁的严重性,许多浏览器都会默认阻止它,以保护用户。 但重要的是要记住,您的访客可能使用较旧版本的浏览器或根本不阻止活动混合内容的浏览器。
SEO 审计和网站分析服务公司PULNO 的人员检查了 3700 多万个页面,发现有 200 多万个页面的资源无法通过 HTTPS 加载。 在分析的所有主机中,有 4.9% 含有混合内容。 其中,66.5% 的问题与图像有关,17.1% 的问题与 JavaScript 元素有关。
如你所见,安装 SSL 后的下一步是确保所有图像和代码都通过 HTTPS 加载。 遗憾的是,许多网站管理员都忽略了这一点,最终导致错误百出,同时在竞争中失去了访客。 下面我们将向您介绍尽快修复混合内容的方法,以便您的网站对所有人都是可见的。
如何手动修复混合内容?
如果在浏览器中遇到 “不安全 “信息,首先要检查是否存在潜在的混合内容。
下面是在 Chrome 浏览器中的操作方法:
- 右键单击无法通过 HTTPS 加载的页面上的任意位置
- 从选项中选择 “检查元素
- 从可用选项卡中选择控制台
如果网站上有混合内容,控制台会显示混合内容警告,并显示 HTTP 文件的位置。 被动混合内容旁边会出现黄色警告,主动混合内容旁边会出现红色警告。
如果这些错误和警告中只列出了几个 URL,你可以通过三个快速步骤手动修复它们:
步骤 1
确保 URL 可通过 HTTPS 访问。 在浏览器中打开一个新标签,然后在地址栏中输入 URL,将 http:// 改为 https://。
如果图像在 HTTP 和 HTTPS 上加载时都没有错误,那就太好了! 进入下一步。
注意:如果弹出证书警告,则说明图像无法安全使用。 外部服务托管的图像可能会出现这种情况。 在这种情况下,如果法律允许,您可以下载图片并上传到主机,或者将其从网站上删除。 根据经验,您应始终将图片托管在您的服务器上。 这样,您就可以完全控制它们。
步骤 2
将 URL 从 http:// 更改为 https:/,保存源文件,必要时重新部署更新后的文件。
步骤 3
打开发现混合内容错误的页面,仔细检查错误是否已不再出现。
如何自动修复混合内容?
替换几个链接很容易,但如果有几十个甚至上百个混合内容的链接,该怎么办呢? 有办法自动修复它们吗? 当然可以。 大多数内容管理系统都应该有插件来帮助您解决这个问题。 例如,WordPress 就有很多选择,其中Really Simple SSL插件是一个很受欢迎的选择。
如果您是高级用户,可以使用这个 方便的脚本搜索数据库并批量替换 HTTP URL。 您需要 FTP 访问权限才能上传脚本。 请注意,如果操作不当,可能会破坏您的网站。
使用脚本时请遵守以下安全说明:
- 重命名脚本根文件夹,以免黑客轻易找到它
- 使用前备份网站和数据库
- 务必仔细检查文本,并在实际运行前进行模拟运行(练习
- 完成工作后删除脚本
如何检测和防止混合内容?
启用 HTTP 后,应检查 SSL 证书是否有错误和漏洞。 很多工具都可以扫描网站并检测潜在的 SSL 连接错误,包括混合内容。
JitBitScanner 是一款免费工具,可抓取整个网站并查找不安全资源。 请注意,使用该工具最多只能扫描 400 页。
混合内容扫描是另一种选择,它是一种 CLI(命令行界面)脚本,可抓取和扫描支持 HTTPS 的网站,查找混合内容。
另一种自动修复混合内容的方法是升级不安全请求CSP(内容安全策略)指令。 该指令告诉浏览器在进行网络请求前升级不安全的 URL。
您可以通过在文档 HTML 部分添加以下元标记代码段来启用此行为。
请注意,如果 HTTP 资源无法通过安全连接获得,浏览器将无法升级和加载该资源。 不过,访问者仍然可以访问您的页面。
最终想法
在当前的网络环境下,确保网站安全是当务之急。 随着谷歌和火狐服务的网络加密率超过 90%,用户会立即发现并质疑不安全的网站。 您肯定不希望自己的网站因为容易防止的混合内容错误而给人留下错误印象。 定期监控 SSL 证书,并在迁移到 HTTPS 后立即更新所有链接。 一个安全的网站对访客和企业来说都是一个安全的网站。