混合内容警告到底是什么?

“此网站包含不安全内容;”“仅显示安全内容;”“Firefox已阻止不安全内容。”你在浏览网页时偶尔会遇到这些警告,但它们到底是什么意思呢?

有两种类型的混合内容-一种比另一种更差,但都不是好的。混合内容警告表示您正在访问的网页有问题。

什么是混合内容?

相关:什么是HTTPS,我为什么要关心?

这一切都归结为HTTP和HTTPS之间的区别。HTTP是最常用的连接类型-当您使用HTTP协议访问网站时,您与该网站的连接是不安全的。任何窃听流量的人都可以看到您正在查看的页面以及您来回发送的任何数据。

这就是为什么我们有HTTPS,字面意思是“HTTP安全”。HTTPS在您和Web服务器之间创建安全连接。连接经过加密和身份验证,因此没有人可以窥探您的流量,您可以在一定程度上确保连接到正确的网站。这对于保护账户密码和在线支付数据,确保没有人能够窃听它们是极其重要的。

混合内容警告表示您通过HTTPS访问的网页有问题。HTTPS连接应该是安全的,但是网页的源代码正在使用不安全的HTTP协议,而不是HTTPS来吸引其他资源。您的Web浏览器的地址栏会显示您已使用HTTPS连接,但该页面也在后台使用不安全的HTTP协议加载资源。为了确保您知道您正在使用的网页不是完全安全的,浏览器会显示一条警告,说明该页面同时包含HTTPS和HTTP内容-换句话说,混合了内容。

为什么这是危险的

相关:什么是加密,它是如何工作的?

这就是为什么这实际上是危险的。假设您在一个支付页面上,并且即将输入您的信用卡号码。支付页面显示它是加密的HTTPS连接,但您会看到混合内容警告。这应该是一个危险信号。您输入的付款详细信息可能会被不安全的内容捕获并通过不安全的连接发送,从而失去HTTPS安全的好处-有人可能会窃听并查看您的敏感数据。

由于HTTP不像HTTPS那样对Web服务器进行身份验证,因此从HTTP站点拉入脚本的安全HTTPS站点也有可能被诱使拉出攻击者的脚本并在其他安全站点上运行。当使用HTTPS时,您可以更多地保证内容没有被篡改并且是合法的。

在这两种情况下,这都消除了拥有安全HTTPS连接的好处。网站可能会有不安全的内容警告,但仍能妥善保护您的个人数据,但我们真的不确定,不应该承担风险-这就是为什么当您遇到编码不正确的网站时,Web浏览器会警告您。

混合主动内容与混合被动内容

实际上有两种类型的混合内容。更危险的是“混合活动内容”或“混合脚本”。当HTTPS站点通过HTTP加载脚本文件时,就会发生这种情况。脚本文件可以在它想要的页面上运行任何代码,因此通过不安全的连接加载脚本会完全破坏当前页面的安全性。Web浏览器通常会完全阻止这种类型的混合内容。

第二类是“混合被动内容”或“混合展示内容”。当HTTPS站点通过HTTP连接加载图像或音频文件之类的内容时,就会发生这种情况。这种类型的内容不会以同样的方式破坏页面的安全性,因此Web浏览器的反应不会那么剧烈。然而,这仍然是一种可能导致问题的糟糕的安全实践。例如,攻击者可以用误导性的图像替换图像,篡改理论上安全的页面。图像加载请求还包含包含与网站关联的Cookie信息的标头,因此即使通过不安全的连接加载图像也会导致问题。Web浏览器通常会显示警告图标或消息,而不是完全阻止内容,因为这种类型的混合内容在真正的网站上仍然很常见。在Chrome中,你会看到一个带黄色三角形的挂锁。

看到混合内容警告时该怎么办

默认情况下,Web浏览器通常会阻止最危险的混合内容类型。不要解锁它。如果您在不加载混合内容的情况下无法登录网站或输入在线支付详细信息,您就应该离开网站,不要将您的信息输入不安全的网站。让网站所有者知道他们的网站是不安全和损坏的。

如果您看到一条警告,指出某个页面包含其他可能不安全的资源,则无论如何登录都可能是安全的。如果像你的银行这样重要的网站有这个问题,这不是一个好兆头,但这种混合内容的警告是非常常见的。

另一方面,如果你访问的是一个不需要HTTPS的网站,混合内容警告并不是什么大问题。所有混合内容警告都意味着保证从HTTPS安全中获益的网页-换句话说,在最坏的情况下,您正在访问的网页与标准HTTP站点一样不安全。因此,如果你仅仅是为了阅读一些文章而访问维基百科这样的网站,你看到的是一个混合内容的警告,你不需要太在意它。在最坏的情况下,它就像您通过标准HTTP连接阅读维基百科上的文章一样不安全,无论如何您都不会有任何问题。

为什么有些网页会有这个问题

只有当网页的编码方式有问题时,您才会看到此错误。如果网页是通过HTTPS提供的,它还应该使用HTTPS协议来拉入脚本文件和它需要的其他内容。网络开发人员应该测试他们的网页,确保它们不会在用户浏览器中触发可怕的警告。如果你是用户,你对此无能为力--这是网站所有者的事。

如果您是一名Web开发人员,您需要做的就是确保您的HTTPS页面从HTTPS URL加载内容,而不是HTTP URL。要做到这一点,一种方法是让你的整个网站只在SSL上工作,所以一切都只使用HTTPS。

如果您想创建一个可以通过HTTP或HTTPS提供并自动执行正确操作的页面,您可以使用“协议相对URL”让用户的浏览器根据用户连接的协议自动选择HTTP或HTTPS。例如,用于加载图像的协议相关URL将类似于。浏览器会自动将http:或https:添加到URL的开头(视情况而定)。当然,您需要确保您要链接的站点通过HTTP和HTTPS提供资源。

Web浏览器会自动阻止混合内容或您的保护,这就是原因所在。如果您需要使用一个安全的网站,除非您启用混合内容,否则该网站无法正常工作,网站所有者应该修复它。

相关文章