Firefoxで「混合アクティブコンテンツのロードのブロック」の問題が突然発生するのはなぜですか?


350

今朝、Firefoxブラウザーを最新バージョン(22から23に)にアップグレードすると、バックオフィス(Webサイト)の重要な側面のいくつかが機能しなくなりました。

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

上記の2つのうち、後者がロードされていないことが原因で発生する他のエラー。

上記は何を意味し、それをどのように解決しますか?


こんにちは、次のことだけで解決しました:googl.com/maps with //www.googl.com/mapsコンテンツをブロックしなくても機能します
Ram Balwad

eコマースリンクが
Soleil-

回答:


417

私はいくつかのことを片付けたこのブログ投稿を見つけました。最も関連性の高いビットを引用するには:

Firefox 23では、混合アクティブコンテンツがデフォルトでブロックされるようになりました。

混合コンテンツとは何ですか?
ユーザーがHTTP経由で提供されるページにアクセスすると、その接続は盗聴および中間者(MITM)攻撃に対して開かれています。ユーザーがHTTPS経由で提供されるページにアクセスすると、Webサーバーとの接続がSSLで認証および暗号化されるため、盗聴者やMITM攻撃から保護されます。

ただし、HTTPSページにHTTPコンテンツが含まれている場合、メインページがHTTPS経由で提供されていても、攻撃者はHTTP部分を読み取ったり変更したりできます。HTTPSページにHTTPコンテンツがある場合、そのコンテンツを「混合」と呼びます。一部のコンテンツはHTTP経由で暗号化されずに取得されるため、ユーザーがアクセスしているWebページは部分的に暗号化されています。混合コンテンツブロッカーは、HTTPSページ上の特定のHTTPリクエストをブロックします。

私の場合、解決策は、jqueryインクルードが次のとおりであることを確認することでした(プロトコルの削除に注意してください)。

<link rel="stylesheet" href="https://stackoverflow.com//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)サポートページからのこのリンクは、混合コンテンツの構成要素の説明にも役立ちます。また、上記の段落で示したように、実際にページを表示する方法の詳細を提供します。

ほとんどのWebサイトは、ユーザーの操作なしで通常どおり機能します。

混合コンテンツの表示を許可する必要がある場合は、簡単に行うことができます。

アドレスバーの盾アイコンMixed Content Shieldをクリックし、ドロップダウンメニューから[このページの保護を無効にする]を選択します。

アドレスバーのアイコンがオレンジ色の警告三角形に変わり、警告IDアイコンが表示され、安全でないコンテンツが表示されていることを知らせます。

前のアクションを元に戻す(混合コンテンツを再ブロックする)には、ページをリロードするだけです。


82
より良いアプローチは、プロトコルを完全に削除することです:src="//code.jquery.com...。ブラウザーは、ページのロードに使用されたプロトコルを使用します。
Blender 2013

17
ちょっと、あなた!FF開発チームはこれを使って自分たちの足を撃ちました-クールなアイデア、完全にクールな実装。ページを無効にするための永続性、およびホワイトリストはありません!(混合コンテンツのあるサイトを知っていて信頼している場合)
Raad

6
@Raadは、混合コンテンツのあるサイトを信頼することはできません。サイトの所有者は無実かもしれませんが、http要求を運ぶすべてのルーターはそうではないかもしれません。サイトの所有者にバグレポートを提出します。
アルファマウス

6
@Raadおよび数千とは言わないまでも数百のサイトが、SSL接続で暗号化されることを意図した個人識別情報を含む可能性のあるヘッダーを公開しているプロセスです...問題...
2013年

3
完全に無害なアクションをブロックしているときに非常にイライラします。ジップと言えば!Ziptasticを使用して、住所フォームに入力した郵便番号の市と州を検索するプラグインがあります。このプラグインは壊れています。私がやりたいことは、休憩APIを使用して小さなJSONオブジェクトを取得することです-サイコロはありません。これがブラウザセキュリティのTSAです!ちくしょうのために、パンツを取り戻そう!
クリスベイカー

136

これは、httpsからhttpを呼び出すことを意味します。src="//url.to/script.js"スクリプトタグで使用すると、自動検出されます。

またはsrc、httpページに公開する場合でも、httpsを使用できます。これにより、コメントに記載されている潜在的な問題を回避できます。


1
ローカルに保存されたWebページで使用すると、ブラウザがスクリプトを無駄に検索し、ページの読み込みが大幅に遅延する可能性があります
binaryfunt

52

ホワイトリスト機能がない場合は、「すべて」または「なし」を選択する必要があります。混合コンテンツのブロックを完全に無効にすることができます。


何も選択

現在のアクティブなプロファイルの混合コンテンツのブロックを永久に無効にする必要があります。

「オーサムバー」に「about:config」と入力します。これが初めての場合は、「保証が無効になる可能性があります!」メッセージ。

はい、注意します。はい、約束します!

security.mixed_content.block_active_contentを見つけます。その値をfalseに設定します。


全選択

iDevelAppの答えは素晴らしいです。


1
Chromeで混合コンテンツを有効にすることを知っていますか?
ファイザン、2015年

1
@Faizan:この回答から:「右端のアドレスバーには「シールド」アイコンが表示されているはずです。そのアイコンをクリックすると、安全でないコンテンツを実行できます。」
fuglede

27

以下の<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">

1
クロムでは動作しませんか?Firefoxで働いていました。upgrade-insecure-requestshttp tp https呼び出しをアップグレードするようです。
Aniket Thakur 2017

1
これは悪い考えですか?セキュリティポリシーが存在する理由はありませんか?
medley56 2018年


10

セキュリティのためにエラーが発生しました。これには、ウェブサイトのURLで「http」ではなく「https」を使用してください。

例えば ​​:

   "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

アクセスできない混合コンテンツのhttpsからhttpへの呼び出しを行う関連ページで、関連に次のエントリを追加して、混合コンテンツのエラーを取り除くことができます。

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

5

私がこれと同じ問題を抱えていたのは、CSSテンプレートを購入し、それがJavaScriptを介して外部JavaScriptファイルを取得したためですhttp://whatever.js.com/javascript.js。私はブラウザーでそのページに移動してからhttps://whatever...、SSL を使用するように変更し、それが機能したので、HTML JavaScriptタグで、https代わりに使用するURLを変更しただけhttpで機能しました。


4

httpsプロトコルで強制的にリダイレクトするには、ルートフォルダーの.htaccessにこのディレクティブを追加することもできます

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

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

3

@Blender Commentが最善のアプローチです。からhttpに移動すると変更が困難になるため、コードのどこにもプロトコルをハードコードしないでくださいhttps。すべてのファイルを手動で編集および更新する必要があるため。

これはプロトコルを自動的に検出するため、常に優れています。

src="//code.jquery.com

2

http://www.example.comのようなものをページに含めるか、混在させることに問題がある場合は、代わりに// www .example.com を配置することで修正できます


これでうまくいきました、ありがとう。何が起こっているのか説明してもらえますか?
Mantej Singh

2

サイトがhttpからhttpsに移行したときにも、同じ問題に直面しています。httpをhttpsにリダイレクトするすべてのリクエストにルールを追加しました。

サイト間リクエストのリダイレクトルールを追加する必要がありますが、外部js / cssのリダイレクトルールを削除する必要があります。


0

ヘッダーに次のコードを追加して、この問題を修正しました。

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

-9

アプリケーションサーバーがweblogicの場合は、webserverのconfディレクトリのweblogic.confファイルにWLProxySSL ONエントリが存在すること(およびコメント化されていないこと)を確認してください。その後、Webサーバーを再起動すると機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.