今天早上,将Firefox浏览器升级到最新版本(从22升级到23)后,我的后台(网站)的某些关键方面停止了工作。正在报告错误:

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"`


由于上述两个中的后一个未加载而导致的其他错误。以及如何解决?

评论

嘿,我只解决了以下问题:使用//www.googl.com/maps的googl.com/maps它将在不阻塞内容的情况下正常工作

电子商务链接无效(错误-找不到您请求的页面)

#1 楼

我发现这篇博客文章清除了一些问题。引用最相关的部分:

Firefox 23中默认禁用混合活动内容!
什么是混合内容?
当用户访问通过HTTP服务的页面时,它们之间的连接是开放的,可以进行窃听和中间人(MITM)攻击。当用户访问通过HTTPS服务的页面时,他们与Web服务器的连接将通过SSL进行身份验证和加密,从而可以防止窃听和MITM攻击。即使主页通过HTTPS提供服务,攻击者也可以读取或修改。当HTTPS页面包含HTTP内容时,我们称该内容为“混合”。用户访问的网页仅被部分加密,因为某些内容是通过HTTP未加密地检索到的。混合内容阻止程序会阻止HTTPS页面上的某些HTTP请求。

我的解决方法是仅确保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)支持页面上的此链接也可用于解释什么是混合内容,并且如上段所述,实际上提供了如何显示页面的详细信息,无论如何:

大多数网站将继续正常运行,而无需您采取任何措施。
如果需要允许显示混合内容,则可以轻松实现:
单击盾牌图标混合内容屏蔽地址栏,然后从下拉菜单中选择“禁用此页面上的保护”。
地址栏中的图标ss栏将变为橙色的警告三角警告标识图标,以提醒您正在显示不安全的内容。
要恢复上一个操作(重新阻止混合内容),只需重新加载页面即可。


评论


更好的方法是完全删除协议:src =“ // code.jquery.com ....浏览器将使用加载页面的协议。

– Blender
13年8月15日在10:50



天啊! FF开发团队以这种绝妙的主意,完全不明智的实施,使自己立足。没有禁用页面的持久性,也没有白名单! (当您知道并信任包含混合内容的网站时)

–Raad
2013年9月13日15:04



@Raad您根本无法信任包含混合内容的网站。虽然站点所有者可能是无辜的,但所有带有http请求的路由器都可能不是这样。我会向网站所有者提交错误报告。

– alpha鼠标
13年10月1日在12:48

@Raad和成百上千个站点(即使不是数千个站点)也正在处理中,这些标头可能包含要通过SSL连接加密的个人身份信息……坦率地说,我不认为FF开发团队是不负责任的实体物...

–同化
13-10-3在17:39



当它阻止完全无害的操作时,非常沮丧。说到拉链!我有一个使用Ziptastic的插件来查找您在地址表格中输入的邮政编码的城市和州。这个插件坏了:我只想使用一个宁静的API来捕获一个微小的JSON对象-没有骰子。这是浏览器安全性的TSA!让我们把裤子放回去,废话!

–克里斯·贝克(Chris Baker)
13-10-21在20:01



#2 楼

这意味着您正在从https调用http。您可以在脚本标签中使用src="//url.to/script.js",它将自动检测。

或者,即使您将src发布到http页面,也可以在其中使用use https。这样可以避免评论中提到的潜在问题。

评论


请注意,如果在本地存储的网页上使用,可能会导致浏览器无法对脚本进行有效搜索,从而大大延迟了网页的加载

– Binaryfunt
15年7月24日在17:55

#3 楼

如果没有白名单功能,则必须选择“全部”或“什么都不做”。您可以完全禁用混合内容阻止。


没有选择

您将需要永久禁用当前活动配置文件的混合内容阻止。

在“超棒”中,键入“ about:config”。如果这是您第一次来,您将获得“这可能会使您的保修无效!”信息。

是的,您会小心。是的,您保证!

找到security.mixed_content.block_active_content。将其值设置为false。


所有选择

iDevelApp的答案很棒。

评论


您知道要在Chrome上启用混合内容吗?

–费赞
2015年5月10日15:24

@Faizan:从这个答案中可以看出:“在右端的地址栏中应该有一个“屏蔽”图标,您可以单击该图标以运行不安全的内容。”

– fuglede
15年7月6日在12:15

#4 楼

将下面的<meta>标记放入文档的<head>部分,以强制浏览器将不安全的连接(http)替换为安全的连接(https)。如果连接能够使用https,则可以解决混合内容问题。

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


如果要阻止,则将以下标记添加到<head>标记中:

<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">


评论


在Chrome中不起作用?在firefox.upgrade-insecure-requests中工作似乎升级了http tp https调用。

– Aniket Thakur
17年12月15日13:00

这是一个坏主意吗?是否没有存在安全策略的原因?

– medley56
18年3月23日在23:55

#5 楼

如果您通过AJAX使用内部服务,请确保URL指向https,这样可以为我清除错误。

初始AJAX URL:“ http://XXXXXX.com/Core.svc /“ + ApiName
更正的AJAX URL:” https://XXXXXX.com/Core.svc/“ + ApiName,

#6 楼

由于安全原因,给出了错误提示。
为此,请在网站网址中使用“ https”而不是“ http”。

例如:

   "https://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
   "https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"


#7 楼

在无法访问HTTP呼叫的混合内容https的相关页面中,我们可以在相关页面中添加以下条目,并消除混合内容错误。

评论


这个答案被低估了!

– Mrigank Pawagi
12月23日18:25



#8 楼

我遇到了同样的问题,因为我购买了CSS模板,并且它通过http://whatever.js.com/javascript.js捕获了一个javascript外部javascript文件。我在浏览器中转到该页面,然后使用SSL将其更改为https://whatever...,它可以正常工作,因此在我的HTML javascript标签中,我只是将URL更改为使用https而不是http,所以它可以正常工作。

#9 楼

要强制重定向https协议,您还可以在根文件夹的.htaccess中添加此指令

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


#10 楼

@Blender评论是最好的方法。永远不要在代码中的任何地方对协议进行硬编码,因为如果您从http转移到https,将很难更改。由于您需要手动编辑和更新所有文件。

这总是更好的选择,因为它可以自动检测协议。

src="//code.jquery.com


#11 楼

我发现如果您在将网页包含或与http://www.example.com之类的内容混在一起时遇到问题,可以通过添加//www.example.com来解决此问题

评论


这对我有用,谢谢。你能告诉我发生了什么吗?

–Mantej Singh
2月20日在16:07



#12 楼

当我的网站从http转到https时,我遇到了同样的问题。我们为所有将http重定向到https的请求添加了规则。

您需要为站点间请求添加重定向规则,但是必须删除外部js / css的重定向规则。

#13 楼

我只是通过在标头中添加以下代码来解决此问题:

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


#14 楼

只需将HTTP更改为HTTPS即可为我解决了此问题。
错误:
<script src="http://code.jquery.com/jquery-3.5.1.js"></script>

<script src="https://code.jquery.com/jquery-3.5.1.js"></script>


#15 楼

如果您的应用程序服务器是weblogic,则请确保webserver的conf目录中的weblogic.conf文件中存在WLProxySSL ON条目(并确保不应对此进行注释)。然后重新启动Web服务器,它将起作用。