混合コンテンツの警告なしにHTTPSサイトでユーザーが投稿した画像


9

ほとんどのフォーラムと同様に、ユーザーが画像を投稿できるフォーラムがあります。サイト全体でHTTPSを設定しましたが、もちろんほとんどの外部画像はHTTPSではなくHTTPを使用してリンクされています。したがって、HTTPS経由でフォーラムをロードすると、混合コンテンツの警告などが表示されます。

この問題に取り組むためのいくつかの戦略は何ですか?一部の画像は自分のサイトのものであり、動作することがわかっているので、HTTPSを使用するようにこれらのURLを書き換えることができます。しかし、外部URLの多くはHTTPSで動作しないため、全面的な書き換えはできません。

保護されていない画像をインライン画像ではなくリンクに書き換えることもできますが、見栄えがよくなく、ユーザーを混乱させる可能性があります。より良い解決策はありますか?


2
あなたは使用することができ迷彩を ...
wb9688

2
Googleは画像検索についてこれを解決していません。画像検索は「安全ではありません」: i.imgur.com/8XVTQsi.png
Stephen Ostermiller


1
よくわからない。著作権に関する法律に違反する可能性があるが、1つの技術的な解決策は、画像のコピーを作成し、HTTPSを介して管理下のドメインから提供することだ
CVn

1
貧乏人の方法:保存/編集時にロジックを適用src="http://someimage.jpg"して、src="//someimage.jpg"代わりに相対構造化することを目的としたすべてのデータを書き換えるか、または単に検証することができます。厳格な緑色のロックが必要な場合(安全でない画像がロックに失敗しない)、HSTSを適用します。次に、エディターインターフェイスで、画像が現在HTTPS経由で利用可能である必要があることに注意してください。そうでない場合、画像はまったく表示されません。「おっと、エラーが発生しました。乱用とMITM攻撃を防ぐには、すべてのメディアでHTTPSを使用する必要があります。戻って修正するか、別の画像プロバイダーを選択してください。」
dhaupin 2016

回答:


1

安全なページに安全でないリソースを入れたり、混合コンテンツの警告を受け取らないようにすることはできません。

これをサポートするユーザーエージェントの場合、upgrade-insecure-requestsディレクティブは、https経由でリソースを読み込もうとするか、試行に失敗することを示す命令です。

他のユーザーエージェントは、ディレクティブを無視し、安全でないリソースをロードし続けます。

これは、このオプションやその他のオプションについて説明しているGoogle Developersサイトの記事です。


1

私は自分のソリューションを投稿したことがないことに気づきました。答えスティーブンさんのコメントで提供さは私のためにそれを解決したものです。つまり、私は次のことを行うプロキシスクリプトを作成しました。

  1. 画像がhttpsの場合は、そのままにしておきます。
  2. 画像がhttpで、httpsをサポートすることがわかっているサイト(たとえば、自分のサイト、imgur.comなど)からのものである場合は、httpsに書き換えます。
  3. それ以外の場合、画像がhttpの場合は、使用するように書き換えます http://example.com/imgproxy?img=ORIGINALURL&hash=KEY

次に、プロキシスクリプトはHTTP画像をフェッチしてローカルにキャッシュし、画像データを出力します。リクエストが繰り返されると、キャッシュされたデータを直接出力します。リンクされたSOの回答は、セキュリティハッシュとその他の詳細を説明しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.