1286005658 携帯サイトにログイン直後のセッションID取得に関するご質問です。


セッション管理をURLに付加されるよう設定したのですがログイン後のURLは

mb.example.com/my/

とセッションIDは付加されず他のページに相対リンクで移動すると

mb.example.com/my/team/?session_id=xxxxxxxx

のようにURLに付加されます。2ページ目移行は$_GET['session_id']で
セッションIDを取得できるのですが、1ページ目のようにURLから取得できない場合は
どの様にセッションIDを取得すればよいのでしょうか?

ご教授のほど宜しくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/10/02 16:47:40
  • 終了:2010/10/02 23:45:25

ベストアンサー

id:tyoro1210 No.2

tyoro回答回数4ベストアンサー獲得回数12010/10/02 22:19:52

ポイント40pt

PHPで問題ないでしょうか?

PHPの場合はsession_id()関数で取得できると思います。

http://php.net/manual/ja/function.session-id.php

id:gelgelgel

ご回答ありがとうございます。

session_id()で取得できなかった・・と思ったらできました!!

書き込む位置が悪かった?ようです。

解決いたしました。

2010/10/02 23:44:43

その他の回答(2件)

id:u6k No.1

u6k回答回数7ベストアンサー獲得回数02010/10/02 17:28:59

ポイント20pt

http://www.example.com/

セッションIDを取得する$_GET['session_id']は、「ブラウザからのGETリクエストからsession_idを取得する」という動作になります。

これを踏まえてログイン直後の挙動を見ますと、ログイン直後(mb.example.com/my/)では、Webサーバ→ブラウザにsession_idを送信しただけで、ブラウザからのGETリクエストにはsession_idは含まれていません。

次に移動したとき(mb.example.com/my/team/?session_id=xxxxxxxx)では、ブラウザ→WebサーバにGETリクエストでsession_idが送信されたので、$_GET['session_id']で取得することができます。

1ページ目からセッションIDを取得するには方式の変更が必要かと思います。ぱっと思いつくものでは以下のような方法があります。

・GETから直接取得するのではなく、別の変数を定義する。

・ログイン後はログイン後ページにリダイレクトする。

id:gelgelgel

ご回答ありがとうございました。

大変参考になりました。

2010/10/02 23:44:46
id:tyoro1210 No.2

tyoro回答回数4ベストアンサー獲得回数12010/10/02 22:19:52ここでベストアンサー

ポイント40pt

PHPで問題ないでしょうか?

PHPの場合はsession_id()関数で取得できると思います。

http://php.net/manual/ja/function.session-id.php

id:gelgelgel

ご回答ありがとうございます。

session_id()で取得できなかった・・と思ったらできました!!

書き込む位置が悪かった?ようです。

解決いたしました。

2010/10/02 23:44:43
id:jacopetti No.3

jacopetti回答回数7ベストアンサー獲得回数12010/10/02 22:56:00

ポイント20pt

セッションIDそのものが欲しいのでなく、セッション変数に入れたり出したりしたいんだと思うのですが、ログイン時のユーザリクエストへのレスポンスにそのまま200 OKで一画面目を書き出してるなら、そもそもログイン後の1画面目で使う変数をセッションから取る必要は無いと思われます。

ログインを処理しているリクエストに対するレスポンスを書き出す時に使う変数の何処かに置いてやれば良いのでは。

セッションIDそのものが必要なら、ログインをしている処理のどっかでセッションIDを横取りできたら可能性でしょうけど、どういう環境なのか分からないのでアドバイスのしようがありません。

とりあえず、WEBのセッションなるものが一体なにものなのかは↓とか参照で。

http://www.atmarkit.co.jp/fdotnet/entwebapp/entwebapp06/entwebap...

id:gelgelgel

ご回答ありがとうございます。

自分がPHPしかしないので環境の説明が抜けていました・・。失礼いたしました。

セッションID自体はマイページ内にformでジャンプするような仕組みがあるため、

相対リンクでは飛べないので必要でした。

ありがとうございました。

2010/10/02 23:44:41
  • id:Galapagos
    ログイン処理をどのように書いているのか示していただかないと、お答えしようがありません。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません