IEたんが、環境変数を展開しちゃう問題

元ネタ:id:magisystem:20041026

ちょっと調べて見ました。

まず、IE以外のブラウザ、firefoxoperaでは大丈夫でした。

次に、IEコンポーネントを単独で呼び出して、「http://localhost/%systemroot%」を開かせても展開されず。もちろん、IEコンポーネントを使ってる他のブラウザでも大丈夫。つまり、IEコンポーネントには問題はなく、IEの外側、つまりIEブラウザ(iexplore.exeとexplorer.exe)固有の問題っぽい。

IEコンポーネント自体に問題はないから、ブラウザ内部からこの環境変数を展開するのは、セキュリティホールでもない限り、たぶん無理。セキュリティーレベルを低にしない限り、IEコンポーネント内部のサンドボックス上から、iexplore.exeを外部から操れないし。ただ、もしかしたら、ActiveX系(JavaAppletやFlash、AcrobatReader)側のリンクの実装によっては、そっち経由で出来ちゃうかも(未確認、だれかやってー)。

どこで環境変数が展開されてるのかは、逆アセしてみてみないとわからないけど、かなり浅いレベルだと思われ。たぶん、IEに関係ない文字を入れると勝手に検索してくれちゃうけど、そこと同じらへん(理由は後述)。