今天早上,当我将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"`

在其他错误中,由上述两个中的后者未加载引起。

上述问题是什么意思?我该如何解决?


当前回答

我只是通过在头部添加以下代码来修复这个问题:

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

其他回答

@if (env('APP_DEBUG'))
        <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
@endif

Laravel Blade的语法,请记住仅用于调试以避免MITM攻击和窃听

也使用

http -> https

对于Ajax或普通JS脚本或CSS也将解决这个问题。

简单地将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>

在https协议上强制重定向,你也可以在根文件夹的。htaccess中添加这个指令

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

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

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

最初阿贾克斯网址:“http://XXXXXX.com/Core.svc/ +。”这是ApiName 由AJAX ApiName网址:“https://XXXXXX.com/Core.svc/ +,

在相关页面,使混合内容https到http调用,这是不可访问的,我们可以添加以下条目在相关和摆脱混合内容错误。

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