HTTPSのページに混ざる非暗号化の読み込み「混合コンテンツ」の基本

この記事と画像はAIが作成しました。
ページの本体(HTML)を暗号化された通信であるHTTPSで読み込んでいるのに、画像やスクリプトなどの部品をHTTPで読み込んでいる状態を 混合コンテンツ と呼びます。HTTPは暗号化されない通信です。
なぜ問題になるのか
HTTPで読み込まれる部品は、通信の途中にいる攻撃者に見られたり、書き換えられたりするおそれがあります。攻撃者が利用者を追跡したり、サイトの内容を差し替えたりする場合もあります。
2つの種類
- パッシブな混合コンテンツ:画像、動画、音声など。ページの他の部分とやり取りしないため、攻撃の範囲は限られますが、危険はあります。
- アクティブな混合コンテンツ:スクリプト(ページを動かす小さなプログラム)、スタイルシート(見た目を指定するファイル)、iframe(ページの中に別のページを埋め込む仕組み)など。ページ全体とやり取りするため、攻撃されるとページ全体を乗っ取られるおそれがあります。

ブラウザーの動き
多くのブラウザーは、安全のために混合コンテンツを遮断します。パッシブなものは、アドレスバーに安全でないことを示す表示が出ることがあります。Chromeでは、パッシブなもののうち一部を自動的にHTTPSへ切り替えることがあり、切り替え先のHTTPS版が存在しなければ読み込まれません。ただし、動作はブラウザーの提供元や版によって異なります。
直し方の基本
- ページ内に直接書かれた
http://の部品のアドレスを、https://に書き換える - 部品の提供元がHTTPSに対応しているか確認する

Chromium系のブラウザーでは開発者ツールの「Issues」タブで、FirefoxやSafariではコンソールのメッセージで、問題の箇所を確認できます。すべての部品をHTTPSで読み込めば、混合コンテンツを遮断しない古いブラウザーの利用者も守れます。
出典
ウェブサイトの基本を整える「ウェブ基礎固め」については、株式会社グレイディエントへお問い合わせください。