[PHP-users 9114] Re: 複数のセッションID をもたせる方法

Naofumi Kondoh php-users@php.gr.jp
Mon, 05 Aug 2002 15:16:49 +0900


ソフト工房の近藤です。こんにちは。

H.Fujii wrote:
> 藤井です。皆様こんにちわ。

> 確かにCookieを使用したセッションIDの保存については、長所
> 短所が多く存在すると思います。URLにセッションIDが含まれる
> ことで生じる問題さえ解決できれば、Cookieは使用しないのが
> 得策かもしれません。

インターネット・イントラネットとか、環境、機密の重要度
により一概に言えませんが、毎回異なるセッション ID を
発生させるか、毎回異なる別のキーとのダブルチェックにす
れば、URL 引数にセッションIDを入れても、盗用される危険
はないと思います。ただ、ブラウザ画面で SESSION ID が見
えるのは気持ち悪いという声が多いので、FORM 入力画面以外
も、JavaScript を使って SESSION ID が見えないようにして
います。

> 複数起動は確かにその通りだと思います。私は業務で使用する
> アプリを設計する場合は、標準認証をよく使います。これだと、
> ログイン/ログアウトは明示的には処理できないものの、多く
> のブラウザで処理開始後窓を増やしてもエラーが起きにくく、
> またセッションライクな処理も可能なので、設計しやすいとい
> うのが理由です。

なるほど。こういう使い方はしたことがないので、手が空いたら
ためしてみようかと思います。情報ありがとうございます。

>>同一セッション番号で複数個のブラウザ画面が起動しない
>>ようにするには、あるいは、複数起動したのを検知するには
>>どのようにするのがいいのでしょうか?。

> 私が以前使った方法は最後の処理内容を記録し、次の処理が
> そこから派生するかを判断するというものでした。ただ、こ
> れは処理ツリーが限定していたためにできたのだと思います。

そうですね。用途によりけりですね。

> 派生する処理が多く存在する場合は、近藤様の仰る連番付与
> 方式の方が有効だと思います。

連番方式の問題は、マウスの右クリックで別画面を起動した時
にエラーにならないことです。そのまま別画面だけで使ってい
れば、SEQ DOWN ERROR にならないで処理が進み、元の画面で
SUBMIT した時に、はじめてエラーが検知できるということです。
ユーザーフレンドリーにならないんですね。これが悩み。

マニュアルには、同時に複数起動するときには、所定の別画面
起動メニューか、ログイン画面からするようにと記載してはあ
るんですが、慣れている人ほど、右クリックで開きたがるし。

-- snip --

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 (株)ソフト工房   近藤直文        Email:  nkon@shonan.ne.jp
http://www.SOFTKOUBOU.co.jp/      http://www.shonan.ne.jp/~nkon/
2002-08-27(火)19:00-21:30 第5回 JPUG 業務アプリ分科会 勉強会
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/