SSL導入後のmixed content対策



SSLに対応したウェブページでは、全てhttpsでなければないといけないとかね。
安全性が確保できませんとかね。

んなこと知らんがな!

って言いたいけど、混在したコンテンツはブラウザによっては正しく表示されないので修正したほうがいいと思うよ。

mixed content対策方法

Content-Security-Policy: upgrade-insecure-requests を使うとあらびっくり。
混在するコンテンツが存在している場合でもHTTPSで強制的に読み込ませることができると思うよ。

Wordpressを常時SSL化した後にmixed contentで困った場合は、以下のどちらかのコードをヌルっと入れればいい感じになると思うよ。
これでhttpd.confとかhtaccessとかnginx.confなんかをいじらずにhttpをhttpsで読み込むようになると思うよ。

HEAD内に追記する場合

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

functions.phpに追記する場合

function ssl_head() {
 echo '<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">'."\n";
}
add_action('wp_head','ssl_head',1);

upgrade-insecure-requestsを設定すると、ブラウザはHTTPSページでのHTTPコンテンツをHTTPSで読み込もうとするよ。
でもこれは応急処置みたいな感じなので、本当はちゃんと修正したほうがいいかも。
https://developers.google.com/web/fundamentals/security/prevent-mixed-content/fixing-mixed-content

コメント

タイトルとURLをコピーしました