「イントラネットのネットワークを自動的に検出する」は何を検出しているのか

スクリーンショットIE7のインターネットオプション>セキュリティ>ローカルイントラネット>サイトから表示されるダイアログだが、ここで示されているデフォルトの設定である

イントラネットのネットワークを自動的に検出する

には注意が必要だ。IE7はIE6までのローカルイントラネットの常識が通用しない。

例えば従来であればLAN上にあるホスト名にIPアドレスを使わない、又は完全修飾ドメイン名(FQDN)を使わない、ホスト名に'.'(ドット)を含まない無い場合は正しくローカルイントラネットとして判定されていたはずなのだが、IE7ではインターネットゾーンとして判定されてしまうケースがあるのだ。
これは凄く困る。リッチクライアントや特殊なプラグイン(ActiveX)を使ったWebアプリケーション、.NET ClickOnceアプリケーション等でローカルイントラネットゾーンでの動作を前提にしているシステムはゾーンの判定が変わるのは大問題なのだ。

  • 出なくて良い警告やダイアログがしつこく出る
  • プラグイン等のロードに失敗する
  • ピヘイビアや一部のスクリプトの実行に失敗する
  • ポップアップやダウンロードがブロックされる

セキュリティを考えると自動検出に失敗した場合、ゾーンをより安全な側に降格するのは仕方が無いとは思うが、過去に何度も繰り返しているように旧バージョンとの運用の互換性を全く否定するような作りは勘弁してもらいたい。

今回の場合、当該のチェックを外して他のチェックをすることで大概の場合従来どおり判定できるが、そもそもデフォルトで正しく判定されることを前提にシステムを組んできた訳で、クライアントPC一台毎に人手を介するなどすれば元々Webアプリケーションとして歌ったTCO削減が嘘になる。(BackOffice系のサーバ製品は使っていないし)。

そもそもIE7におけるローカルイントラネットゾーンの判定方法から調べ直さなければならないじゃないか。