当ブログ「tohdamikio.com」は先月から常時SSLにて運用を開始した。GoogleクロームやIE(インターネットエクスプローラー)では問題なかったが、ファイヤーフォックスで表示したときだけエラーがでる現象が起きていた。ファイヤーフォックスで/を開くと「安全な接続ではありません」という表示がでて、表示を完全にブロックされてしまう場合がある。「この接続は安全ではありません」という表示をクリックして詳細を見ると「混在コンテンツのブロック」が原因と書かれている。要は一部のSSL外からの画像参照があるため表示をブロックしたというようなことが書かれている。このままではファイヤーフォックスを使っているユーザーにはホームページを見てもらえないので原因追求と対策を講じていたが、6月に入りやっと解決した。
▼起きていた問題は「安全な接続ではありません」と表示されること
これまで問題をひとつひとつ解決してきたが最後まで残った原因はやはり画像の参照表示がSSL外だったことである。(このことを混在コンテンツのブロックというらしい)
これまで起きていた課題
・ブログ記事内の参照画像が非SSLのURLだった
→記事内のすべての画像パスをSSLに変えた(すごく時間がかかった)
・QRコード画像表示のジャバスクリプトのURLが非SSLだった
→この機会に新たなスクリプトに変更した
・HTMLタグの<html lang=”ja” itemscope itemtype=”http://schema.org/Blog“>が問題だった
→<html lang=”ja” itemscope itemtype=”https://schema.org/Blog“>に変更した(sを入れただけですが)
・MTのテンプレート内にあるURLがSSLでなかった
→動作確認しながらひとつひとつSSLに変更したのでこれまた時間がかかった
・SNSアイコン表示のジャバスクリプト内のパスが非SSLだった
→単純にSSLにしても稼働しないスクリプトがあったので新規で探しなおす
(Facebook、Google、Twitterは割と簡単だったが、はてながやっかいだった)
・CSS内の一部に非SSLの表示があった
→該当部分をSSLにした
このバグ潰しには約1ヶ月かかった。自分のサイトなので集中して時間がとれないこともあったが、エラーがファイヤーフォックスだけだったことも影響した。
混在コンテンツのブロックについては以下のとおり
以下https://support.mozilla.org/ja/kb/mixed-content-blocking-firefoxより引用
Firefox は、安全に見える Web ページ上の潜在的に有害で安全でないコンテンツをブロックすることにより、ユーザを攻撃から保護します。この記事の続きを読んで混在コンテンツについて学び、それがブロックされた時、Firefox がどのように知らせるかを学んでください。
混在コンテンツとは何か?
HTTP は、Web サーバからブラウザへ情報を転送するシステムです。HTTP は安全ではなく、HTTP プロトコルで配信されているページを訪れた場合、そのサイトとの接続は盗聴や 攻撃 に対して開放されています。ほとんどの Web サイトは、HTTP 経由で配信されていますが、取り扱いに注意が必要な情報を渡したり扱ったりすることがないため、安全な接続をする必要がありません。
銀行のサイトなど、ページ全体が HTTPS プロトコルで配信されている Web サイトを訪れた場合、アドレスバーに緑色の錠前アイコンが表示されます (詳しくは、Web サイトへの接続が安全か確認するには をご覧ください)。そのサイトとの接続は、認証を受けて暗号化されているため、盗聴や中間者攻撃から護られています。
しかしながら、訪れた HTTPS のページに HTTP で配信されたコンテンツが含まれている場合、メインのページが HTTPS で配信されていても、それに含まれる HTTP のコンテンツは攻撃者に読まれたり変更されたりする恐れがあります。私たちは、HTTPS のページに含まれる HTTP で配信されたコンテンツを「混在コンテンツ」(mixed content) と呼びます。訪れたページの一部分だけが暗号化されていると安全な接続であるように表示されますが、実際はそうではありません。
突き詰めていくと原因はSNSボタンの画像表示のURLが非SSLになっていたことだった。この原因特定がなかなかうまくできなかった。というのは、当ブログはMT6で構築されており、SNSボタンの表示はテンプレートに追加したテンプレートモジュールの中にあり、しかもMTIFなどで分岐条件の中にあったことである。
原因と解決したテンプレートを備忘録として掲載しておく。
▼テンプレートモジュールの「ソーシャルボタン」
このページはTwitter、はてな、Google+、FacebookなどのSNSで以下のような反響があります。<br />
なお、コメントはFacebookにログインしている状態でのみ受け付けております。セキュリティ上の観点からこのようにしております。ご了承願います。<br /><!–ツイッターのツイート–>
<a href=”https://twitter.com/share” class=”twitter-share-button” data-lang=”ja”>ツイート</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?’http’:’https’;if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+’://platform.twitter.com/widgets.js’;fjs.parentNode.insertBefore(js,fjs);}}(document, ‘script’, ‘twitter-wjs’);</script><!–はてなブックマーク–>
<mt:If name=”entry_template”>
<!–entry_template–>
<a href=”http://b.hatena.ne.jp/entry/<$MTEntryPermalink$>” class=”hatena-bookmark-button” data-hatena-bookmark-title=”<$mt:EntryTitle$>” data-hatena-bookmark-layout=”standard-balloon” data-hatena-bookmark-lang=”ja” title=”このエントリーをはてなブックマークに追加”><img src=”/img/button-only@2x.png” alt=”このエントリーをはてなブックマークに追加” width=”20″ height=”20″ style=”border: none;” /></a><script type=”text/javascript” src=”https://b.st-hatena.com/js/bookmark_button.js” charset=”utf-8″ async=”async”></script>
<mt:ElseIf name=”category_archive”>
<!–category_archive–>
<a href=”http://b.hatena.ne.jp/entry/<$MTCategoryArchiveLink$>” class=”hatena-bookmark-button” data-hatena-bookmark-title=”<$mt:ArchiveTitle$>” data-hatena-bookmark-layout=”standard-balloon” data-hatena-bookmark-lang=”ja” title=”このエントリーをはてなブックマークに追加”><img src=”/img/button-only@2x.png” alt=”このエントリーをはてなブックマークに追加” width=”20″ height=”20″ style=”border: none;” /></a><script type=”text/javascript” src=”https://b.st-hatena.com/js/bookmark_button.js” charset=”utf-8″ async=”async”></script>
<mt:ElseIf name=”page_template”>
<!–page_template–>
<a href=”http://b.hatena.ne.jp/entry/<$MTPagePermalink$>” class=”hatena-bookmark-button” data-hatena-bookmark-title=”<$mt:PageTitle$>” data-hatena-bookmark-layout=”standard-balloon” data-hatena-bookmark-lang=”ja” title=”このエントリーをはてなブックマークに追加”><img src=”/img/button-only@2x.png” alt=”このエントリーをはてなブックマークに追加” width=”20″ height=”20″ style=”border: none;” /></a><script type=”text/javascript” src=”https://b.st-hatena.com/js/bookmark_button.js” charset=”utf-8″ async=”async”></script>
<mt:Else>
<a href=”http://b.hatena.ne.jp/entry/<$mt:BlogURL$>” class=”hatena-bookmark-button” data-hatena-bookmark-title=”<$MTBlogName$>” data-hatena-bookmark-layout=”standard-balloon” data-hatena-bookmark-lang=”ja” title=”このエントリーをはてなブックマークに追加”><img src=”/img/button-only@2x.png” alt=”このエントリーをはてなブックマークに追加” width=”20″ height=”20″ style=”border: none;” /></a><script type=”text/javascript” src=”https://b.st-hatena.com/js/bookmark_button.js” charset=”utf-8″ async=”async”></script>
</mt:If><!–グーグル +1 ボタン–>
<div class=”g-plusone”></div>
<script type=”text/javascript”>
window.___gcfg = {lang: ‘ja’};(function() {
var po = document.createElement(‘script’); po.type = ‘text/javascript’; po.async = true;
po.src = ‘https://apis.google.com/js/platform.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(po, s);
})();
</script>
この記事を書いた遠田幹雄は中小企業診断士です
遠田幹雄は経営コンサルティング企業の株式会社ドモドモコーポレーション代表取締役。石川県かほく市に本社があり金沢市を中心とした北陸三県を主な活動エリアとする経営コンサルタントです。
小規模事業者や中小企業を対象として、経営戦略立案とその後の実行支援、商品開発、販路拡大、マーケティング、ブランド構築等に係る総合的なコンサルティング活動を展開しています。実際にはWEBマーケティングやIT系のご依頼が多いです。
民民での直接契約を中心としていますが、商工三団体などの支援機関が主催するセミナー講師を年間数十回担当したり、支援機関の専門家派遣や中小企業基盤整備機構の経営窓口相談に対応したりもしています。
保有資格:中小企業診断士、情報処理技術者など
会社概要およびプロフィールは株式会社ドモドモコーポレーションの会社案内にて紹介していますので興味ある方はご覧ください。
お問い合わせは電話ではなくお問い合わせフォームからメールにておねがいします。新規の電話番号からの電話は受信しないことにしていますのでご了承ください。
【反応していただけると喜びます(笑)】
記事内容が役にたったとか共感したとかで、なにか反応をしたいという場合はTwitterやフェイスブックなどのSNSで反応いただけるとうれしいです。
遠田幹雄が利用しているSNSは以下のとおりです。
facebook https://www.facebook.com/tohdamikio
ツイッター https://twitter.com/tohdamikio
LINE https://lin.ee/igN7saM
チャットワーク https://www.chatwork.com/tohda
また、投げ銭システムも用意しましたのでお気持ちがあればクレジット決済などでもお支払いいただけます。
※投げ銭はデジタルコンテンツ購入という通販のしくみにしました。
※投げ銭は100円からOKです。シャレですので笑ってください(笑)