none
IE7/IE8でfile://プロトコルを使用したリンクが、非ドメイン環境で開けない現象

    質問

  • IE7/IE8でfile://プロトコルを使用したリンクが、非ドメイン環境で開けない現象が発生しました。
    ある程度検証した結果、IE6やFireFoxなどでは現象が出ないことからIE7以降の固有の現象と判断しましたが
    これが仕様なのか、それ以外の問題なのか、また改善策などがあるのか等ご意見を頂きたく書き込みさせて頂きました。

    【環境】
    サーバ:  Windows Server 2003 (ワークグループ)
    クライアント: Windows XP Proffessional /HOME SP2 / SP3

    【概要】
    (1)社内WEBサイトに、file://プロトコルを使用したリンクが設定されているページがあります。
    例: <a href="file://server/directory1/DATA/">

    (2)利用ユーザーは上記リンクから共有フォルダへアクセスしています。
    サーバー側でグループおよびユーザーの設定がしてあり、上記のフォルダリンクへアクセスすると
    認証画面が表示され、IDとパスワードの認証ののち共有フォルダへアクセス出来るようになっています。



    IE7・IE8のテストを行うため(1)リンクを開こうとした際に、IE6とIE7/IE8で次の違いが確認できました。

    ・IE6ではダイアログが表示されログイン情報を求められる(有効な情報を入力すればファイルへのアクセスが可能)
    ・IE7では1~2秒程度後に次のメッセージが表示されてしまう
    「'file://server/directory1/DATA/'が見つかりません。
    パスまたはインターネットアドレスが正しいかどうか確認してください。」

    このファイルパスをUNCパスに置き換えて(¥¥server¥directory1¥DATA¥)
    ブラウザのアドレスバーや「ファイル名を指定して実行」等で開こうとすると
    通常通りログイン情報を求められるダイアログが表示されます。


    数種類の検証を行った結果は以下の通りです。

    (a)net useコマンドなどでリソース接続のキャッシュができると、IE7/IE8からfile://プロトコルで
    共有フォルダを開くことができる

    (b)(a)の後、net use * /d等で接続のキャッシュを全て削除してもIE7/IE8のfile://プロトコルは有効のまま

    (c)クライアントPCで一度ログオフして再度ログインし直すとIE7/IE8のfile://プロトコルは無効になる
    ※「パスまたはインターネットアドレスが正しいかどうか確認してください」のエラーが表示される

    (d)リンクの記述を共有フォルダのルートに指定すると(a)のキャッシュが出来ていない状態でも
    IE7/IE8でfile://プロトコルが正常に動作する
    例:<a href="file://server/">


    IE7/IE8のセキュリティの設定や詳細設定などを一通り確認し、
    それらしい項目は一通りそれぞれ変更し確認しましたが現象は変わらずでした。

    これが仕様なのか、IEのバグなのか、そもそもまったく別の問題なのか、
    代替案を含めてご意見を頂けませんでしょうか・・・。

    文章が読みにくく大変恐縮ですが、よろしくお願いいたします。

    2010年1月19日 9:02

すべての返信

  • IE6とIE7の違いとして、単一ラベルコンピュータ名の扱いが考えられます。
    たとえば、file://server/というアクセスの場合、IE6ではイントラネットゾーンと判断しますが、IE7ではインターネットゾーンと判断します。
    file://server.domain/のようなFQDN形式やIPアドレスを指定した場合には、IE6でもIE7でもインターネットゾーンと判断します。

    質問内容を十分に理解せずに回答して申し訳ないのですが、このあたりが関係するとすれば、IE7の[ツール][インターネットオプション]の[セキュリティ]タブで、[ローカル イントラネット]サイトの設定で、「イントラネットのネットワークを自動的に検出する」のチェックをはずし、他の3項目を全てチェックするとIE6と同じ設定になります。

    どちらのゾーンとして認識しているかは、IEのステータスバーで確認出来ます。

    2010年1月19日 9:29
  • IE6とIE7の違いとして、単一ラベルコンピュータ名の扱いが考えられます。
    たとえば、file://server/ というアクセスの場合、IE6ではイントラネットゾーンと判断しますが、IE7ではインターネットゾーンと判断します。
    file://server.domain/ のようなFQDN形式やIPアドレスを指定した場合には、IE6でもIE7でもインターネットゾーンと判断します。

    質問内容を十分に理解せずに回答して申し訳ないのですが、このあたりが関係するとすれば、IE7の[ツール][インターネットオプション]の[セキュリティ]タブで、[ローカル イントラネット]サイトの設定で、「イントラネットのネットワークを自動的に検出する」のチェックをはずし、他の3項目を全てチェックするとIE6と同じ設定になります。

    どちらのゾーンとして認識しているかは、IEのステータスバーで確認出来ます。


    ご回答ありがとうございます。

    アドバイスにあったイントラネットの設定を実施してみましたが現象は変わりませんでした。

    素人考えですが、サーバーのルートを指定すると有効でディレクトリの指定(下階層)を指定するとエラーが出るという現象からゾーンの問題ではないような気がします。

    他に考えられる事がありましたら是非お願い致します。



    2010年1月19日 23:04
  • 実際に確認してみると、確かにゾーンなどの問題ではないようです、申し訳ありません。

    もう少し確認してみようと思いますが、以下などを見るとMicrosoftから仕様という回答があったようなので(情報ソースはわかりませんが)難しいのかもしれません。

    IE7でfileスキームを使用したリンクが、非ドメイン環境で開けない現象
    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46104&forum=8


    file://server/ では動作が正常というのも確かにおかしいですね。
    2010年1月19日 23:50
  • 実際に確認してみると、確かにゾーンなどの問題ではないようです、申し訳ありません。

    もう少し確認してみようと思いますが、以下などを見るとMicrosoftから仕様という回答があったようなので(情報ソースはわかりませんが)難しいのかもしれません。

    IE7でfileスキームを使用したリンクが、非ドメイン環境で開けない現象
    http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46104&forum=8


    file://server/  では動作が正常というのも確かにおかしいですね。
    参照リンクですが既に確認していまして、httpスキーマで解決となっておりますが
    当方で検証したようにnet useコマンドや「¥¥server¥directory1¥DATA」をアドレスバーから実行しリソース接続をした状態だと
    正常に動作するので「仕様」で片付けてしまうには少し疑問が残ります。

    また「file://server/」という様にリンクで共有フォルダのルートを指定すると動作が正常というもの、ご指摘の通りおかしいと思います。

    ADにすればいいというご意見もあるかと思いますが、社内にまだ数多くのXP Home EditionがクライアントPCとして存在している以上
    現状ではワークグループの設定を止められません。

    宜しくお願い致します。


    2010年1月20日 3:26