- ベストアンサー
外部リンクの「http://」とSSL化
- 外部リンクの「http://」をSSL化する方法と、保護されていない通信への対処策について調査しました。
- 外部リンクの「http://」を「https://」に変更してもエラーになることが分かりました。ユーザーの利便性とセキュリティの両立にはどのような対策が必要か考えました。
- 外部リンクがあることでユーザーへの情報提供が適切に行われる一方で、保護されていない通信の表示が問題となっています。この場合、外部リンクを取り外すか、セキュリティ対策を行うか検討する必要があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
現在のモダンブラウザ(FireFox,chrome,IE,Edge) は,常時SSL化(サーバーサイドが生成するリンクも含め)してないサイトについて,強制的に「安全な接続ではありません」という表示をするようになっています。 下記は,FireFoxの説明の例です。 ===以下引用=== Firefox が安全なウェブサイト (URL が "https://" で始まるサイト) に接続する場合、そのウェブサイトで提供されている証明書の真正性と、ユーザーのプライバシーを十分に保護できる強い暗号方式が使用されているかが検証されます。証明書の正当性が確認できなかったり暗号の強度が十分でなかったりする場合、Firefox は、そのウェブサイトへの接続を中止し、安全な接続ではありません というメッセージのあるエラーページを表示します。 https://support.mozilla.org/ja/kb/what-does-your-connection-is-not-secure-mean ===引用以上=== つまり,「https」と言っても二つのパターンがあります。 それが「証明書の正当性」というやつです。 この証明書というのは,「このアドレスの存在と安全性を証明しますよ」とブラウザに証明する為のものです。 当然,第二パターンである証明書がない・証明書の期限切れ・信用度の低い証明書etc,,,などの場合に警告が出される事になります。 この場合,お使いのサーバーサイドの問題となります。 他の方のリンク対応と共に,レンタルサーバーに問い合わせをしてみるといった対策になるかと思います。 外部リンクは変えても変えなくても良いです。 どうしても対策しておきたいということでしたら,<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">をheadセクションに追記します。 これで自動でhttp: から https:にリダイレクトしてくれます。 但し,ブラウザの対応状況はまちまちなので,画像が表示されなかったり,意図したリンク先に飛ばなかったりします。
その他の回答 (3)
- t_ohta
- ベストアンサー率38% (5253/13739)
<a>タグでのリンクが http であっても「このサイトへの接続は完全には保護されていません」にはなりません。 他に原因があるはずですから確認しましょう。
- 4017B
- ベストアンサー率73% (1337/1815)
https通信に切り替えた後のページ内URLの対策(置換処理)としては、 # 外部へのリンクURLの場合: いわゆる一般的なリンク、つまりHTMLコードの <a href="http://example.com/hoge.jpg"> はそのままでOK。 # ページ内要素の場合: CSSやJS等 基本的には全てを https://~ の形式に書き換える。HTMLコードでは src="http://example.com/hoge.jpg" の形式になってるヤツ。難しい場合は "http://example.com/hoge.jpg"→"//example.com/hoge.jpg" の形式に書き換える( // から始める)。 ~以上の様な感じでOKです。W3Cの作法に則った正しい処置ですのでご安心を。google様もそうしろと言っています。 P.S. URLを "//example.com" の形式で記述した場合、web上では正しく動作しますが、テスト環境のローカルPC上等だとエラーになるので注意してください。 テスト環境用と本番web環境用の2バージョンを作るのが面倒くさい、或いは混乱して返ってミスが多くなりそうで不安だという場合は。全てのURLを相対URLで記述する方法が最も簡単で確実な対処方法です("./hoge.jpg" みたいな記述の仕方です)。 細かい事をいうと全てのURLは絶対URL形式で記述して置く方がセキュリティ的にも安全になり、またブラウザとwebサーバとの間での相互通信回数を減らす事が出来るため表示速度が向上するメリットが得られますが。通常のwebページであれば体感ではさほど変化は感じられないので、無用な混乱を避けるために1つの書式に統一して置く事は決して吝かではないと思います。
- dragon-man
- ベストアンサー率19% (2712/13696)
普通のサイトのほとんどがhttp://です。気にしても仕方がないです。どうしても嫌ならリンクを張らないことです。でもあなたが閲覧してそのURLにリンクを張ったのでしょう。そのときは気にならなかったのですか?