none
IE セキュリティ強化の構成(IE ESC)が有効時に、msSaveBlob, msSaveOrOpenBlobが失敗する RRS feed

  • 質問

  • [環境]
    OS: Windows 2012R2, Windows 2016
    IE: Internet Explorer 11

    [状況]
    JavaScriptから直接ファイル保存を行いたいのですが、
    IE11で、IE ESCが有効時に、msSaveBlob, msSaveOrOpenBlob を行っても、
    「ダウンロードできませんでした」というエラーがでて、ファイルを保存できません。
    サイトを「信頼済みサイト」に登録してもダメです。
    「サーバー マネージャー」でIE ESCを無効すれば、ファイルを保存できるようになります。

    下記のExample1, Example2のソースで確認しています。
    https://msdn.microsoft.com/ja-jp/library/hh779016(v=vs.85).aspx

    IE ESCを有効にしたままで、msSaveBlob, msSaveOrOpenBlobを行う方法はないでしょうか?
    もしくはこれは、IE11の仕様でしょうか?

    ご教示をお願いいします。
    2018年2月3日 6:26

回答

  • インターネット オプションの「セキュリティ」タブ、レベルのカスタマイズで「ファイルのダウンロード」は有効になってますか?

    参考:IE でファイルのダウンロードができないときのトラブルシューティング

    また msSaveBlob, msSaveOrOpenBlob ではない普通のファイル ダウンロードは可能ですか?

    ※ Blob はページと異なるオリジンを持つのではないかと思われ、ページのセキュリティ ゾーンを変えてもダメな予感


    hebikuzure


    2018年2月3日 7:46
    モデレータ
  • hebikuzure さん、立花さん、ご返信ありがとうございました。

    本件解決しましたので、情報共有させていただきます。

    結論から言えば、IE ESCが有効の環境でも以下の手順でmsSaveBlob, msSaveOrOpenBlobが可能になりました。

    ------------------------------------------------------------------------

    1.  [インターネットオプション] [セキュリティ] タブを開く

    2. 「インターネット」 ゾーン を選択 (「信頼済みサイト」ゾーンでない点がポイント!)

    3. 「レベルのカスタマイズ」で 「ファイルのダウンロード」を「無効にする」から「有効にする」に変更

    ------------------------------------------------------------------------

    > ※ Blob はページと異なるオリジンを持つのではないかと思われ、ページのセキュリティ ゾーンを変えてもダメな予感

    本件の本質は上記ご指摘のように、IEの仕様上、いかなる場合でも(仮にサイトを「信頼済みサイト」にしても)Blobに関しては「インターネット」 ゾーンとして扱われる ということでした。

     本質的にIE ESC は全然関係の無い問題なのですが、たまたまIE ESCが有効の場合は「インターネット」ゾーンのセキュリティレベルが「高」(ファイルダウンロード無効)になり、

     IE ESCが無効の場合は「インターネット」 ゾーンのセキュリティレベルが「中高」(ファイルダウンロード有効)になることから、見かけ上IE ESCの問題に見えていただけのようです。

    ※IE ESCが有効な環境の場合は、JavaScriptを使用するWebアプリは必然的に「信頼済みサイト」に登録するため、「インターネット」 ゾーンの設定は関係ないと思いこんでいました。


    2018年3月1日 7:58

すべての返信

  • インターネット オプションの「セキュリティ」タブ、レベルのカスタマイズで「ファイルのダウンロード」は有効になってますか?

    参考:IE でファイルのダウンロードができないときのトラブルシューティング

    また msSaveBlob, msSaveOrOpenBlob ではない普通のファイル ダウンロードは可能ですか?

    ※ Blob はページと異なるオリジンを持つのではないかと思われ、ページのセキュリティ ゾーンを変えてもダメな予感


    hebikuzure


    2018年2月3日 7:46
    モデレータ
  • ご返信ありがとうございます。

    > インターネット オプションの「セキュリティ」タブ、レベルのカスタマイズで「ファイルのダウンロード」は有効になってますか?

    はい、
    ファイルのダウンロードは可能になっています。

    > また msSaveBlob, msSaveOrOpenBlob ではない普通のファイル ダウンロードは可能ですか?

    はい、可能です。

    https://msdn.microsoft.com/ja-jp/library/hh779016(v=vs.85).aspx上記のサンプルのように、javascript内でblobを作成し、msSaveBlob, msSaveOrOpenBlob で保存する際に、エラーが発生します。

    他のダウンロードは正常にできます。

    IE ESCを無効にすれば、上記もできるようになりますので、IE ESCが関係しているのは確実なのですが、対処法が分からない状況です。

    2018年2月4日 0:28
  • IE SEC の有効/無効で何がどう変わるのかについては

    辺りが公開情報ですね。

    あとは Process Monitor で挙動を追いかけるとか。


    hebikuzure

    2018年2月4日 10:52
    モデレータ
  • 情報ありがとうございます。

    いただいた情報を参考に調査いたします。

    2018年2月5日 1:48
  • m.matz さん、こんにちは。フォーラム オペレータの立花です。
    MSDN フォーラムへのご投稿ありがとうございます。

    フォーラム オペレーターからのお願いです。
    参考となる投稿がありましたら、[回答としてマーク] を設定いただき、
    同じ問題でお困りの方へも、情報をご提供くださいませ。
    また、本件について対応策が見つかりましたらご共有いただけると助かります。

    ご協力の程、どうかよろしくお願いいたします。

    フォーラム利用時の注意点のお知らせです。
    ※初めてご投稿された方を対象にお知らせしています。

    ご利用の際は、下記内容をお守りいただきますと
    情報が寄せられやすくなりますので、ぜひご一読ください。
    ・フォーラムでご質問頂くにあたっての注意点
    ・フォーラムへの回答に関するガイドラインおよびフォーラム運営について(再掲)
    ご意見、ご要望はこちらのフォーラムまで。
    各種設定方法はフォーラム内を [かんたん フォーラム ガイド] で検索してみてください。


    参考になった投稿には回答としてマークの設定にご協力ください
    MSDN/TechNet Community Support 立花楓

    2018年2月5日 3:04
    モデレータ
  • hebikuzure さん、立花さん、ご返信ありがとうございました。

    本件解決しましたので、情報共有させていただきます。

    結論から言えば、IE ESCが有効の環境でも以下の手順でmsSaveBlob, msSaveOrOpenBlobが可能になりました。

    ------------------------------------------------------------------------

    1.  [インターネットオプション] [セキュリティ] タブを開く

    2. 「インターネット」 ゾーン を選択 (「信頼済みサイト」ゾーンでない点がポイント!)

    3. 「レベルのカスタマイズ」で 「ファイルのダウンロード」を「無効にする」から「有効にする」に変更

    ------------------------------------------------------------------------

    > ※ Blob はページと異なるオリジンを持つのではないかと思われ、ページのセキュリティ ゾーンを変えてもダメな予感

    本件の本質は上記ご指摘のように、IEの仕様上、いかなる場合でも(仮にサイトを「信頼済みサイト」にしても)Blobに関しては「インターネット」 ゾーンとして扱われる ということでした。

     本質的にIE ESC は全然関係の無い問題なのですが、たまたまIE ESCが有効の場合は「インターネット」ゾーンのセキュリティレベルが「高」(ファイルダウンロード無効)になり、

     IE ESCが無効の場合は「インターネット」 ゾーンのセキュリティレベルが「中高」(ファイルダウンロード有効)になることから、見かけ上IE ESCの問題に見えていただけのようです。

    ※IE ESCが有効な環境の場合は、JavaScriptを使用するWebアプリは必然的に「信頼済みサイト」に登録するため、「インターネット」 ゾーンの設定は関係ないと思いこんでいました。


    2018年3月1日 7:58
  • m.matz さん、こんにちは。フォーラム オペレーターの立花です。
    MSDN フォーラムのご利用ありがとうございます。

    無事問題が解決されたとのこと、大変安心いたしました。
    また方法についても情報を共有くださいましてありがとうございます。

    また何かございましたらご投稿くださいませ。
    今後とも MSDN フォーラムをどうぞよろしくお願いいたします。


    参考になった投稿には回答としてマークの設定にご協力ください
    MSDN/TechNet Community Support 立花楓

    2018年3月1日 8:14
    モデレータ
  • IEの仕様上、いかなる場合でも(仮にサイトを「信頼済みサイト」にしても)
    >
    Blobに関しては「インターネット」 ゾーンとして扱われる ということでした。

    これは大変貴重な知見をいただきました。ありがとうございます。

    自己解決ということですので、投稿を「回答」としてマークさせていただきました。


    hebikuzure

    2018年3月1日 8:17
    モデレータ