2012-02-14 15 views
57

私はSSL証明書を持ち、httpsで提供されるクライアント用のアプリケーションを開発中です。ただし、既存のサイトと統合するには、iframe内でナビゲーションを提供する必要があります。セキュアページのiframeで安全でないコンテンツ

私はブラウザがページ上の安全で安全でないコンテンツが混在していると不平を言うと思うので、これは問題を引き起こすことがあります。私はここで似たような質問をしてきました。そして、彼らはすべて、これを逆の言い方をしているように見えます(iframe内のコンテンツを保護する)。

私が知っておきたいことは、iframe内に安全でないコンテンツが含まれていて、安全なページに置かれている場合、それはどのような問題でしょうか?

理想的ではない場合(私は強い気持ちがない)、これをクライアントに説明できるようにする必要があります。

+0

プレーンなHTTPでメインページを使用し、HTTPSを使用するiframeを埋め込むことについて話していますか? – Bruno

+4

いいえ、反対の - メインページはHTTPS、iframeはプレーンなHTTPです。私はこれをより明確にするために質問を編集しました。 – moogal

+1

これについてはすでに[数多くの質問](http://stackoverflow.com/search?q=https+iframe)があります。ソートでは、ユーザーがページのどの部分が安全であるかどうかを知ることができないため、悪い考えです。 – Bruno

答えて

22

あなたのページはhttps://www.example.com/main/index.jsp(SSL)を使用してアクセスされている場合http://(非SSL)で参照されているHTMLコード内のすべてのリソースがある場合は、ブラウザが「このページには、安全かつ安全でないの両方のアイテムが含まれている」と文句を言うだろうが。これにはiframeが含まれます。あなたの質問から、あなたのナビゲーション・ページが同じサーバ上でホストされている場合、あなたはこのような相対URLを使用することにより、「安全でないコンテンツ」メッセージを防ぐことができ

...

<iframe src="/app/navigation.jsp" /> 

は、それはあなたのナビゲーション・ページのように聞こえます別のホストから提供されている、あなたはもちろん、お使いのブラウザで「安全でないコンテンツ」メッセージの原因になります。この

<iframe src="http://otherserver.example.com/app/navigation.jsp" /> 

のようなものを使用することを余儀なくされています。

あなたの唯一の解決策は、あなたが同じサーバーにIFRAME参照のhttps://、または

  • 移動ナビゲーションアプリケーションを使用できるように

    1. があなたのナビゲーション・ページを保持するサーバー上でSSLを実装するためのどちらかであります相対URLを使用することができます。個人的に

    、あなたが(いくつかのファンキーなJSONPが関与している場合を除き)JavaScriptのクロスドメインスクリプティングの問題を取得するつもりだので、あなたのナビゲーションは別のホスト上だろう、なぜ私が見ることができません。

  • +15

    コードを実行できない第三者が、これよりも優れたオプションが必要な場合の良い例です。 – freyley

    +2

    'src ="/app/navigation.jsp "アプローチでは、iframeの内容がHTTPSで利用可能である必要がありますか?しかし、OPによると、iframeはプレーンなHTTPになっています。 – KajMagnus

    +0

    別の例としては、ユーザーが任意のURLをiframeに送信できるようにする場合です。たとえば、ウェブサイトのデザインサイトで。 – Thayne

    35

    ページがhttpの場合、httpsコンテンツのiframeが許可されます。

    あなたのページがhttpsの場合、httpコンテンツは許可されません。

    以下の可能性を記入してください。

    page - iframe - status 
    
    http - http - allowed 
    http - https - allowed 
    https- http - not allowed 
    https- https - allowed 
    
    +3

    https - https - 許可 - [sc2vault.com]で確認済み(http://www.sc2vault.com/) – bradleygsmith

    +3

    https - https - 安全でないスクリプト - 許可されていません – coderek

    +3

    https - https - inscure images - allowed – coderek

    -1

    のhttpを削除してください:ようにsrc属性の値の文字:

    <iframe src="//example.com/thefile.htm"></iframe> 
    

    これはもちろん、回避策で、セキュリティが重要であるので、軽率バイパスしませんが、とにかくこのかつてました私も同様の問題を抱えています。

    +14

    これは問題を解決しません。ブラウザーに「このページにアクセスするために使用したプロトコルを使用してください」と指示するだけです。この場合、 "https://example.com ..."と同等です。これはhttp:// –

    +1

    でのみ利用可能なexample.comの問題を解決しません。この手法を使用すると、毎回この種の問題がすべてのブラウザで解決されます回避策が一時的に必要です – bastien

    +0

    @RobertLevyが指摘しているように、これは問題を「解決」しません。実際には、親が使用しているプロトコルを使用するだけの良い方法です。これはもちろん関連するリソースが 'https'と' http'もサポートしている場合にのみ有効です – nuts

    関連する問題