[PHP-users 21645]Re: セッションの受け渡しについて

yuji koga koga-y @ mcp-net.com
2004年 5月 12日 (水) 17:48:57 JST


お世話になります。古賀です。

>> 皆様は、http から https のほうにセッションを渡す場合
>> どうされているのでしょうか?

1 まず、セッションをDBハンドラする

2 http から httpsに移る際に、SIDとは異なる一意の移行IDを発行、
  DB上に移行IDと元のSIDを記録

3 移行IDをGETで渡してhttps内の引き継ぎページへ
  (引き継ぎページを利用せず、各ページの前処理に含めても良い)

4 https内の引き継ぎページでは、セッションを開始せずに継ぎ処理のみを行う
  (引き継ぎページを利用しない場合は、セッション開始前の前処理とする)
  ・移行IDからDBを見に行き、元のSIDを新SIDに書き換え
  ・移行IDとSIDを記録した、先ほどのDB上のレコードを消去(ハイジャック防止)

  上記の箇所では、移行IDが見つからないアクセスの場合、
  ハイジャックを目的としたアクセスの可能性がありますので、
  それ用のロジック分岐を設けて逃がしてください。

  ・新たなSIDを別途発行
  ・httpsから見えるセッションクッキーとして新SIDを用意

5 引き継ぎ処理が終了したら、表示ページへジャンプ
  (引き継ぎページを利用しない場合はそのまま次へ)

6 httpsページ内でセッション開始(新SIDが使われる)

…こんな手順で、渡しています。
 SIDを書き換えますし、GETで渡す移行IDは使い捨てですので、
 ハイジャックの危険性から少し逃げられるかもです。

 もし穴があったら、ご指摘下さい。

<? /*********************************
株式会社メディアプレス   制作課  古賀裕二
       会社:koga-y @ mcp-net.com
*********************************/ ?>



PHP-users メーリングリストの案内