App*_*lus 339 security https firefox http mixed-content
今天早上,将我的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"`
Run Code Online (Sandbox Code Playgroud)
除了上面两个中的后者没有被加载导致的其他错误.
以上是什么意思,我该如何解决?
App*_*lus 406
我发现这个博客帖子清理了一些东西.引用最相关的位:
Firefox 23中默认阻止混合活动内容!
什么是混合内容?
当用户访问通过HTTP提供的页面时,他们的连接将被打开以进行窃听和中间人(MITM)攻击.当用户访问通过HTTPS提供的页面时,他们与Web服务器的连接将通过SSL进行身份验证和加密,从而防止窃听者和MITM攻击.但是,如果HTTPS页面包含HTTP内容,则攻击者可以读取或修改HTTP部分,即使主页面是通过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>
Run Code Online (Sandbox Code Playgroud)
请注意,临时"修复"是单击地址栏左上角的"屏蔽"图标,然后选择"禁用此页面上的保护",尽管出于显而易见的原因不建议这样做.
UPDATE:此链接从火狐(Mozilla的)支持的网页也解释,什么是混合内容,并在上面的段落中给出,并实际提供的不论如何显示网页的资料有用:
大多数网站将继续正常工作,而无需您采取任何行动.
如果您需要允许显示混合内容,您可以轻松地执行此操作:
单击地址栏中的盾牌图标Mixed Content Shield,然后从下拉菜单中选择"禁用此页面上的保护".
地址栏中的图标将更改为橙色警告三角形警告标识图标,以提醒您正在显示不安全的内容.
要恢复上一个操作(重新阻止混合内容),只需重新加载页面即可.
Ala*_*rte 129
这意味着您正在通过https呼叫http.您可以src="//url.to/script.js"在脚本标记中使用它,它将自动检测.
或者,src即使您要将其发布到http页面,也可以使用https .这将避免评论中提到的潜在问题.
小智 24
如果要允许混合内容请求,请将以下标记添加到<meta>标记中.
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Run Code Online (Sandbox Code Playgroud)
如果要阻止,请将以下标记添加到<head>标记中:
<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
Run Code Online (Sandbox Code Playgroud)
Ale*_*sov 12
只需将HTTP更改为HTTPS就可以解决这个问题。
错误的 :
<script src="http://code.jquery.com/jquery-3.5.1.js"></script>
Run Code Online (Sandbox Code Playgroud)
正确的 :
<script src="https://code.jquery.com/jquery-3.5.1.js"></script>
Run Code Online (Sandbox Code Playgroud)
Bry*_*ang 10
如果您通过AJAX使用内部服务,请确保该URL指向https,这为我清除了错误.
初始AJAX URL:" http://XXXXXX.com/Core.svc/ "+ ApiName
更正的AJAX URL:" https://XXXXXX.com/Core.svc/ "+ ApiName,
小智 9
由于安全性,它给出了错误.为此,请在网站网址中使用"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"
Run Code Online (Sandbox Code Playgroud)
我已经设法使用这些解决了这个问题:
对于火狐用户
about:config在地址栏中输入,进入配置页面。security.mixed_content.block_active_contentTRUEFALSE对于 Chrome 用户
小智 7
在无法访问HTTP调用的混合内容https的相关页面中,我们可以在相关页面中添加以下条目,以消除混合内容错误。
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,因为我购买了CSS模板,并且通过抓取了javascript和外部javascript文件http://whatever.js.com/javascript.js。我在浏览器中转到该页面,然后将其更改为https://whatever...使用SSL并可以使用,因此在我的HTML javascript标签中,我只是更改了要使用的URL https而http不起作用。
| 归档时间: |
|
| 查看次数: |
389293 次 |
| 最近记录: |