今天早上,将我的 Firefox 浏览器升级到最新版本(从 22 到 23)后,我的后台(网站)的一些关键方面停止工作。
查看 Firebug 日志,报告了以下错误:
Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`
上述两个中的后者未加载导致的其他错误。
以上是什么意思,我该如何解决?
我发现这篇博客文章澄清了一些事情。引用最相关的位:
Firefox 23 现在默认阻止混合活动内容! 什么是混合内容? 当用户访问通过 HTTP 提供的页面时,他们的连接是开放的,可用于窃听和中间人 (MITM) 攻击。当用户访问通过 HTTPS 提供的页面时,他们与 Web 服务器的连接将通过 SSL 进行身份验证和加密,从而免受窃听者和 MITM 攻击。 但是,如果 HTTPS 页面包含 HTTP 内容,则攻击者可以读取或修改 HTTP 部分,即使主页是通过 HTTPS 提供的。当 HTTPS 页面包含 HTTP 内容时,我们称该内容为“固定”。用户正在访问的网页只是部分加密,因为某些内容是通过 HTTP 未加密检索的。混合内容阻止程序阻止 HTTPS 页面上的某些 HTTP 请求。
Firefox 23 现在默认阻止混合活动内容!
什么是混合内容? 当用户访问通过 HTTP 提供的页面时,他们的连接是开放的,可用于窃听和中间人 (MITM) 攻击。当用户访问通过 HTTPS 提供的页面时,他们与 Web 服务器的连接将通过 SSL 进行身份验证和加密,从而免受窃听者和 MITM 攻击。
但是,如果 HTTPS 页面包含 HTTP 内容,则攻击者可以读取或修改 HTTP 部分,即使主页是通过 HTTPS 提供的。当 HTTPS 页面包含 HTTP 内容时,我们称该内容为“固定”。用户正在访问的网页只是部分加密,因为某些内容是通过 HTTP 未加密检索的。混合内容阻止程序阻止 HTTPS 页面上的某些 HTTP 请求。
就我而言,解决方案是简单地确保jquery包含如下(注意删除协议):
jquery
<link rel="stylesheet" href="//code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" type="text/css"> <script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"></script>
请注意,临时“修复”是单击地址栏左上角的“屏蔽”图标并选择“禁用此页面上的保护”,尽管出于明显的原因 不 建议这样做。
更新:来自 Firefox (Mozilla) 支持页面的此链接在解释什么构成混合内容时也很有用,并且如上段所述,确实提供了有关如何显示页面的详细信息,无论:
大多数网站将继续正常运行,您无需采取任何行动。 如果您需要允许显示混合内容,您可以轻松地做到这一点: 单击地址栏中的盾牌图标混合内容盾牌,然后从下拉菜单中选择禁用此页面上的保护。 地址栏中的图标将变为橙色警告三角形警告标识图标,以提醒您正在显示不安全的内容。 要恢复之前的操作(重新阻止混合内容),只需重新加载页面。
大多数网站将继续正常运行,您无需采取任何行动。
如果您需要允许显示混合内容,您可以轻松地做到这一点:
单击地址栏中的盾牌图标混合内容盾牌,然后从下拉菜单中选择禁用此页面上的保护。
地址栏中的图标将变为橙色警告三角形警告标识图标,以提醒您正在显示不安全的内容。
要恢复之前的操作(重新阻止混合内容),只需重新加载页面。