kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

MS10-090を適用すると発生する副作用

今日公開されたMS10-090のページにはさらっと一言、既知の問題について書かれています。

既知の問題: マイクロソフト サポート技術情報 2416400 には、このセキュリティ更新プログラムをインストールする際に起こる可能性のある既知の問題に関して説明されています。

MS10-090: Cumulative security update for Internet Explorer

After you install this security update, some Japan Industrial Standard (JIS) websites may not appear correctly in Internet Explorer. This issue can occur if the JIS-based website does not specify JIS encoding in the HTTP headers. For example, the website only specifies JIS in a Meta tag.

ちょっと!要はJIS(ISO-2022-JP)に対するセキュリティ修正だけど、MS10-090をあてるとJIS(ISO-2022-JP)をユーザーの意思で選択できなくなるということだそうで。IE9は…もともとないのかな?

JIS(ISO-2022-JP)をサポートしないということではないので、サーバー側で「Content-Type: text/html;charset=iso-2022-jp」と正しく出しましょうとのこと。content-typeをhttpサーバーで指定していなくても自動判定はちゃんと効いています。この例ではmetaタグで指定していますが、metaタグは正しく読めるかどうか確実ではないので、信用しない方がいいかもしれません。

ただ…サーバーをいじれるところばかりじゃない…はずなんだよなぁ。Content-TypeはJISでも中身はSJISなページとか結構世間にあるはず(Webとともに生きている人からはちょこちょこ聞きます)。IE9では変わるようですが、かつてのIEでは中身を見て判定しているというのもこういう事情もあったのでしょう(当事者になってもあまりやりたくない仕様ですが)。
さて、それはそれとして、KBではちゃんとレジストリのここをこういじれば、この機能が無効になるからパッチ当てられない人は自己責任でやってねみたいな感じで書かれています。そして、こういう手段が用意されていることに感心します。作った時では増えるかどうかわからないエンコーディングがちゃんと追加/何らかの理由で削除できるようになってるんですねぇ。
もちろんやりすぎるととても使いづらくなるので、こういう最終手段に限られるわけですけど、こういうのは痛い目にあった経験をもとに、ちゃんと設計上から考えられているなという気がします。
というわけで、JISで書いたページを使っている人はちょっと注意しましょうということでした。これ、次のパッチでは治るのかな…?