SPAT4の投票

Posted on :| コメント (0)

 SPAT4の投票処理を現在実装しています。プロトコルの解析はすでに済んでいるので、 今はこれをソフト側で実装するようにしています。

 

■SPAT4で投票できない

 出来上がった投票処理をテストしたところ、何故か上手くいきません。プロトコルの内容はあっているのですが、上手く動作しません。 レスポンスとして返されているのは、「ログインをやり直してくれ」という文面です。

 実際に色々調べたところ、ひとつの問題が浮かび上がりました。IE6.0を利用してSPAT4のサイトで投票しようとしたところ、 ブラウザでも「ログインをやり直してくれ」という表示が出て投票できません。
 SPAT4のサポートに連絡したところ、SPAT4の通信にはSSL Session IDを利用しているのですが、 これが途中で書き換わっているのが原因だとのこと。SPAT4のプロトコルは理解しているので、SPAT4がIPATとは異なり、 セッションIDで管理していることは知っています。
 セッションIDを使うやり方は、サーバーの負荷を軽減するために利用される一般的な手法です。

 で、問題はなぜ即座にセッションIDが書き換わってしまうかと言うことです。

 

■Internet Explorer(IE)の仕様上の問題

 IEは、SSL Sessionを一定時間経過後に再接続させるという仕様になっています。再接続すると当然セッションIDが書き換わります。 OSやIEのバージョンによりますが、短いもので2分間しかセッションIDが存在しません。

 一方でSPAT4はセッションIDで管理しているため、セッションIDが書き換わると上手く動作しなくなります。 実際こちらの資料では、IEは 「2分おきにSSLセッションの再手続きをしてしまうので、Session-ID分散の採用は難しい」とかいています。
 実験してみた結果、SPAT4にログインし、投票要綱画面で2分間放置して操作しようとすると、「ログインをやり直してくれ」 という表示が出ました。つまり、セッションIDが書き換わったことにより、 システムが正常に動作しなくなっていると言えます(FireFoxでは30分以上放置しても大丈夫です)。

 SPAT4のサポート担当者はこのIE自身の持つ仕様上の問題を理解していないようでした。原因として言われたのは 「お客様のPCとの相性です」。ソフトウェアの問題で相性が存在するとすれば、インストールされているソフトが悪影響を与えているか、 ハードウェアとのマッチング(読み書きタイミングなど)です。ブラウザでの通信処理を相性で片つけてはいけません。対応策として、 IE以外のブラウザを使ってくれと言われました。

 はてさて、どこに問題があるのでしょうか?

 

■問題はどこにあるのか?

 吉田はこの問題の根本原因は、システム設計を行った会社にあると思います。まず、 ブラウザシェアの8割以上を占めているIEの仕様を無視してシステム設計を行い、 結果として推奨ブラウザにも関わらず通常動作が行えないことです。ちなみにSPAT4のサーバーは富士通製なので、 システム開発は富士通関連会社(富士ソフトABC?)が行ったと思われます。

 IEのSSLセッションIDの再手続きに関する仕様が、何故現在のようになっているかは疑問の持たれるところですが、 これを無視(知らずに)してシステム設計を行うのは非常に問題のある行為だと言わざるを得ません。

 取りあえずの回避策ですが、MSのナレッジベースにあるように、 SSLセッションIDの生存時間を延命するのがひとつの策のようです。この件は追加調査しますが、レジストリをいじる場合は、 バックアップを忘れずに。この件について吉田は一切責任を負いませんので、自己責任でどうぞ。

 

コメント

コメントフォームに記入し投稿してください





Search
最近の記事
カテゴリー
過去の記事
Comments
TrackBacks
Feed
Powered by