31

HTTPS 対応のサイトに、他のサイトのコンテンツを表示する iframe を追加しましたが、https では機能しません。

<iframe  src="//myothersite.com"></iframe>

Firefox の最新バージョンでは、すべて正常に動作します。

Chrome で iframe が読み込まれず、コンソールに次の 2 つのエラーが表示される

Mixed Content: The page at 'https://mysite' was loaded over HTTPS, but requested an insecure resource 'http://myothersite.com'. 
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS

IE コンテンツが正しく読み込まれず、警告メッセージが表示されます。[安全でないコンテンツを許可] をクリックすると、正しく読み込まれます。

問題は、IE と Chrome を Firefox のように (アラートなしで混合コンテンツをロードする) どうすればできるかということです。

注: ブラウザーの設定は変更していません。

4

6 に答える 6

18

実際、Firefox は同じことをし始めました:ブロックされた混合コンテンツで Web サイトを修正する方法

それは理にかなっている。ユーザーが HTTPS を使用してサイトにアクセスすると、安全なエクスペリエンスが期待され、安全でない接続でロードされるアプリケーションの一部に気付かない可能性があります。これが、ブラウザがこのような不一致をブロックする理由です。

myothersite.com で HTTPS を提供する必要があります。

于 2014-12-12T13:21:44.633 に答える
11

明らかに、MITM 攻撃を防ぐためにコンテンツを混在させないことが最善ですが、URL を制御できない場合は、これでうまくいくはずです。

src="http://linkToUrl.com"を次のように変更します。

src="//linkToUrl.com/script.js"

于 2015-07-05T03:37:21.793 に答える
1

申し訳ありませんが、これは他の回答ほど技術的ではありませんが、このようにjsqueryをリンクするのと同じ問題がありましhttp://https://. うまくいかないかもしれませんが、私にはうまくいきましたし、あなたにもうまくいくかもしれません.

于 2016-11-20T00:59:14.167 に答える
1

ここに画像の説明を入力

URL を設定する <a href="http://127.0.0.1:8080/download/1.txt"></a>と、https 要求からエラーが報告されます: 混合コンテンツ: のページは'https://127.0.0.1/index.html'HTTPS 経由で読み込まれましたが、安全でないリソースが要求されました'http://127.0.0.1:8080/download/1.txt'

This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS

target="_blank"を url:に追加すると、<a target="_blank" href="http://127.0.0.1:8080/download/1.txt">動作します! 、 できます!target="_blank"リンクされたドキュメントを新しいウィンドウやタブ、または新しいリクエストで開くことを意味することはよく知られています。

于 2015-10-20T10:48:49.410 に答える