[PHP-users 17065]Re: header関数でのセションの引渡し

Yasuo Ohgaki yohgaki @ ohgaki.net
2003年 7月 31日 (木) 09:05:00 JST


大垣です。

y-matsuda @ nm.mbcl.co.jp wrote:
> Header()でセションIDを引き渡すと
> URLにセションIDが表示されますが
> 表示させない方法あるのでしょうか。
> cookieは使えません。
> session.use_trans_sidを1に設定しても
> Haeder()には無効のようですし

trans_sidは出力バッファ内にバッファされたコンテンツ、
つまりヘッダ以外の部分にしか適用されません。

リダイレクトの場合、普通はSIDコンスタントを使って渡し
ます。Cookie/POSTを使用しないで、セッションIDを渡すに
はGET(query string)で渡す以外の方法はありません。

# trans_sidを使っても<a>タグにはセッションIDが記載
# されます。透過的なセッションとはユーザに見えない
# セッションと言う意味ではありません。
# オフィシャル携帯サイトのように一意なユーザID取得
# できるような環境以外ではユーザに見えないセッション
# は作れません。
# PC以外でクッキーをサポートしないブラウザが対象かつ
# ユーザ単位で一意なIDを取得できない場合は、query
# stringを使うしかありません。

PCが対象であれば、Session Cookieを有効にするようエラー
を表示させるのが最善の策と思います。

Cookieについて誤った認識を持たれているユーザも多いと
思うので1st party cookie, session cookieについてエラー
ページで説明すると良いと思います。

--
Yasuo Ohgaki




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