初めて投稿します。
Webアプリのセッション管理についてですが、PCサイトの場合、セッションキーはクッキーで管理、携帯サイトの場合はURLで管理だと思いますが、後者の場合、セキュリティ的に考慮が必要というのが一般的な見解だと思いますが、実際にどうされてますか?
やっぱり、個体識別情報(uid)と併せて管理するような仕組みにするものでしょうか?
携帯サイトの開発からはかなり離れているもので・・・
皆さんのご意見聞かせていただければと思います。
コメント

- 3:asato
- 2007/10/16 23:25
早速のご回答ありがとうございます。
確かにuidは機種依存やユーザの意思が影響しますので、必ず取得できるとは限りませんね。
大きく分けると2つの方法になるのですかね。
1)有効期間で制限
2)セッションキー+端末情報で管理
1)の場合は、有効期限が長かろうが短かろうが、その期間内にセッションキーを盗まれてしまったことを考えると、リスクはあまり変わらないのかもしれませんね。
そうすると現実的なのは、uidに限らず何らかの端末情報とセットで管理というところでしょうか。
Cookie使用可機種の判別ですか?
今後、さらにスマートフォンが増えてくることを考えると有り得るかもしれませんね。
ただ、新機種が出るたびに何らかの対応が必要ですね。
そこまでやるかは予算次第です。私の場合・・・

- 4:夜行
- 2007/10/17 08:16
自分もだいたい有効期間などを使いますね。
>端末判定してCookie可能機種であれば、
>URLを使わずCookie出力しています。
こちらはPHPの設定でtrans_sidのオプションによって
cookieが使えない機種には自動的にセッションIDを付加するようになっています。
URLだけでなくフォームにも自動で付加してくれるため、とても重宝してます。

- 5:asato
- 2007/10/17 16:21
なるほど。
機種判別を独自でコーディングする必要は無いのですね。
ありがとうございます。
参考にさせていただきます。
HTTPヘッダーにCookieキーがあるかで判別している??
とするとコーディングしてもたいしたこと無いですね。

- 6:ゲスト
- 2007/12/14 20:26
スマートなやり方としては、session_set_save_handler()関数を使用します。
これによってセッション情報の保存方法を自分で管理できますので、好きなファイルやデータベースにセッション情報を保存することが可能です。
この場でサンプルコードは書けませんので、session_set_save_handlerで検索してみてください。

- 7:asato
- 2007/12/16 10:26
ありがとうございます。
session_set_save_handlerですか。
参考にさせていただきます。
ちなみに、携帯サイトの構築で使用する言語はPHPが主流なのでしょうか?(要件にもよると思うので、一概には言えないと思いますが)
前へ 1 次へ![]()
コメントする
[block]から[/block]までの範囲はブロック表示されます。
部分的に目立たせたい時や、引用などにお使いください。
[code]から[/code]までの範囲は等幅表示されます。
ソースコードや設定ファイルの記述などにお使いください。









私の場合はuidは確実に取得できないという前提で開発しているので、
uidは使いません。URLだけでの管理ということになります。
ただ、当然セッションキーをURLに埋め込みでは危険なので、
セッション情報をファイルやDBに保存すると思うのですが、
・セッション情報にタイムスタンプを保存しておいて、
次回アクセス時に、保存されたタイムスタンプをチェックし、
X秒以上経過していたら、セッション無効。
(私の場合は15分で設定)
・セッション情報に取得できるだけの端末情報を
すべて保存しておき、
次回アクセス時、これらすべての情報を比較して、
差異があれば、セッション無効。
という処置をとっています。
あと、端末判定してCookie可能機種であれば、
URLを使わずCookie出力しています。
他の皆さんはどうされているのか、私も興味があります。