気まぐれSE日記

地方でエンジニアしてます

IE8 が出ましたね

とりあえず、RC版からの症状でセッションが切れがありましたが、リリースバージョンにアップしてからセッション切れを起こさないPCと起こすPCがあり困惑しています。


というのは、自宅のPCと会社のPC、(どちらもWindowsXP SP3)にIE8RCをインストールしており、どちらの環境でもセッション切れ


具体的には

自社開発しているPHP4のアプリケーションがあるのですが、このアプリログイン情報をPHPのセッション関数(session_start()など)でセッション変数を使ってログイン情報を記憶しています。アプリの中ではjavascriptのwindow.open()を使ってサブウィンドウを結構開くタイプの作りになっています。そしてこのアプリをIE8で実行してサブウィンドウを4つめくらい開いていくとですね、10回に1回や酷いときは4回に1回の頻度で「致命的エラー:ログアウトされました。」というエラーとなり、セッション変数が壊れる?ようなのです。この現象は、「IE8」でのみ発生し、「IE6,IE7,firefox」では発生しません。

という症状に悩まされていました。


どうも原因がよくわからなくて、PHP側に問題があるようには思えない。今まで動いていたし、ブラウザが変わったとたんにおかしくなるというのはIE8が怪しいのだけどなあ。PHPのセッションはcookieに保持されるようなので、IE8のcookieに不具合があるんですかねぇ。cookieデバッグってどうやればいいのだ。


で、うちのアプリだけだ不具合が起こるのかというと、ほかのyahooとか楽天など有名どころでもログインしているのに別ウィンドウを開くとログアウトされましたって出るときがありますので。ううむやはりIE8か?


で、リリースバージョンが出たので早速アップグレードでインストールを行ったのですが、


自宅のPC:○セッション切れが改善しました。万歳。
会社のPC:×セッション切れ治りません。やっぱりダメ....


これはなんでなんですかね。PCの性能によるモノなのかもしれないし、一回キレイにIE8を削除して再インストールしないとダメなのかも。


スペック的には自宅と会社のPCはメモリの容量が自宅3GB,会社1GBで違います。CPUは自宅AMDで会社Intelだけど...ちゃんとIE8は動作テストやってるんだろうか。


もしかしたら自宅PCも症状が出るのかもしれませんね。たまたま会社のPCのウィンドウ数の上限が4だっただけで、自宅PCはウィンドウ8個とか10以上で症状が出るのかも...。MSさんお得意のこれは仕様ですなんて言われると自分含めてWebアプリ開発者の人たちはかなりキツイのですが。



追記:わからん
自宅のPCではまったく現象が出ないので、会社のPCで一回IE8削除してインストールやりなおししてみたけどやっぱり改善しなかった。セキュリティソフト(ウイルスバスター)が原因かと思って解除してからインストールしても改善しない。もちろんアドオンなどは全て無効・アンインストール済みです。


2chとかではそういう報告上がってないし、このPCだけの現象なのかな


2009-05-20 追記:
上記に書いた現象は他のPCでも再現しましたので、IE8はcookie処理に問題を抱えているように思います。
回避方法がイマイチわかりませんし、SP出るまで様子見ですね。こんなのをWindowsUpdateでばらまきされた日にはMSサポートセンターあたりがヤバいことになりそうですけど。


2010-06-08 追記:
自分が今まで経験したセッション切れの件はおそらく↓のページの4が問題なんだと思う。
IE8 のプロセスモデルについて – Japan IE Support Team Blog
IE7等、古いIEとの互換性維持させるにはレジストリ変更すれば良い。一応これでセッション切れの問題は解決?かな。でもま、エンドユーザにこのレジストリ操作させるのはキツイから、グループポリシーだとかIEの設定ツールみたいなので設定してあげる必要があるんだろうな。個人的にはこれは不具合の一種だと思うんだけど...MSさんは予想通り仕様ですって言い切りそうだな。

それにしてもIE8仕様変更は困るね。