# プログラミング # ブログ# 技術的な話題# 技術的な話題-ツール

HTTPS Checkerはhttps変更作業にとても役立ちます。

HTTPS Checkerはhttps変更作業にとても役立ちます。

今日はhttps対応をしていて見つけたテクニックやツールなんかを紹介してまいろう。

まずはContent-Security-Policy: upgrade-insecure-requestsでhttpをhttpsとして強制的に読み込む方法。これはコバろぐさんで紹介されているのを知って、ひとまず追加しておくことにした。

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

一応、おまじないとしてheadに追加しておくのもありなんだが、技術的な情報もまとめておこう。Content-Security-Policyとはこんな機能。

ここで役に立つのが、Content-Security-Policy の upgrading insecure request です。

Content-Security-Policy に新たに追加された仕様です。

Upgrading insecure request を設定すると、HTTPSページでHTTP読み込みが発生している場合、ブラウザはそのコンテンツをHTTPではなくHTTPSで読み込みます。

したがって混在するコンテンツエラーを回避できるのです。

気をつけてほしいのはこれは一時的な対応であって、本来ならば手作業で全部変えるべきであるんだ。対応していないブラウザもあるらしい。

upgrade-insecure-requests は新しい仕様です。

対応するブラウザを調べたのですが、調べきれていません。

少なくとも、最新のChromeFirefoxはサポートしているはずです。

Content Security Policy には、CSP1.0 と CSP Level 2 の2つがあり、SafariInternet Explorer は CSP Level 2 を最新バージョンでもサポートしていないようです。

upgrade-insecure-requests が CSP Level 2 に含まれるなら SafariIE は対応していないということになりそうです(どなたかに、upgrade-insecure-requestsのブラウザサポート状況を調べていただけると嬉しいです)。

upgrade-insecure-requestsは一時的な対応だけどおまじないとしてheadに入れておくと楽に対応できるかもです。

次はhttps対応で使えるツールなんぞを紹介しておこう。

httpsページにhttpリソースを読み込むとmixed-contentというエラーが発生して、「保護された通信」にならない。https checkerは指定したURLを全ページクロールして、mixed-contentを検出することができる。

ダウンロードは上記のリンクから行ってください。無料版では500ページまでは行うことができる。だけどまぁ、僕のブログは1000記事以上あるからPro版にしたけどね。Pro版の一番安いプランは月9$で10000ページまでクロールすることができる。僕のところで2500ページはあるので、そこそこ長期間ブログ運営した方だとProプランじゃないと間に合わないだろう。

インストールすると下記の画面になる。

上のフォームには自サイトのURLを入れて、その下のセレクトボックスは「mixed-content ONLY」を選択する。これでボタンを押すとスキャンが始まる。

Total Issuesが結果である。この画面では122件のmixed-contentが検出されている。

検出されたmixed-contentはわざわざそのページでコンソールを開いて調べなくても、検索結果から見ることができる。

検出結果はPDFやCSVファイルとして出力可能なので、それを見ながら地道に一つづつ直していくのがhttps変更作業では必要だろう。https checkerはその作業に便利です。