- PR -

携帯電話のセッション管理はどうしてますか?

1
投稿者投稿内容
たららん!
会議室デビュー日: 2001/11/25
投稿数: 10
投稿日時: 2002-10-08 02:18
お世話になります。

クライアントに携帯電話を使ったWEBアプリを作ろうとしているのですが、
携帯電話にはクッキーがないということを知りました。

私はセッションの管理をクッキーを使ってやっていましたので、
クッキーがないとどのようにすればよいのかがわかりませんでしたのですが、
調べてみたのですがjsessionidを使えばいいとはわかったのですが、
それにはセキュリティ上問題があると書かれていました。

そこでいきづまってしまいましたのでご質問させて頂きます。

1.jsessionidっていうのはつまり勝手にURLにつけられると思っていいのでしょうか?
2.セキュリティ上問題というのはなぜですか?
3.携帯電話をクライアントにした時にセッション管理はどのようにしていますか?

3つも質問してしまいまして申し訳ないのですがご回答よろしくお願いします。


そこで
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2002-10-08 03:08
1.については勝手にURLにつけられるのではなく、サーブレットで encodeURL等を呼び出して内部リンクを書きかえるはずです。ただ、クッキーが有効・無効の判断は自動でやってくれるはずです。

2.に関しては私も知りたいです。

多分、クッキー同様、途中で盗まれたりするのに注意が必要なのではないでしょうか。
ライフサイクルの問題もあるし。
ショッピングのサービスを提供するときは、カートを追跡するためにはセッションを使用するのはいいけど、最後に別途チェックするなどの考慮が必要とかではないでしょうか。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-10-08 03:54
○ セッションを横取り(なりすまし)してみようのコーナー!

1. URL に ;jsessionid=もげもげ が入っている場合

単純にその URL でアクセスしよう!
当該セッションがタイムアウトしていなければ、そのひとになりすませられるはずだ!
なお、それの入った URL は、ブラウザの履歴を見ればでてくるかもしれないぞ。
サーバ側のアクセスログなんかにも残ってるかもだ!
携帯に搭載されているブラウザの REFERER 漏らしバグなんかを利用するのも手だ!

- ;jsessionid=なんちゃら の入っている URL を知れること
- そのセッションがタイムアウトしてないこと

だけが条件だ!

2. URL に入ってない場合(Cookie 管理)

ネットを監視するなりして、HTTP パケットから Cookie を抜き取ろう!
ちょっと技術的に手が込むのと、リアルに足が付く可能性が高いので注意!
Cookie は、恒久的に残すような設定の Cookie ならば、ローカルファイルに保存してある可能性もあるが、メモリ上にしか残らないタイプだとちょっと難しいかもしれないぞ。
Cookie を抜き取れたら、こんどは Cookie を偽造して送りつけてやろう!
タイムアウトしていなければ乗っ取れるはずだ!

--
ま、URL rewrite の場合、なりすます方法が格段に楽になるってことですわ。
Cookie でも expire 指定されてりゃローカルに情報が残るのでアレなんですけど。

○携帯でのセッション管理について

URL rewrite を使うのも手ですが、各キャリアが Cookie に代わる方法を準備しています。端末 ID を表す環境変数があったり、疑似 Sesson ID を要求する方法があったり。
まぁ、キャリア毎に違うんで面倒ですけど。
たららん!
会議室デビュー日: 2001/11/25
投稿数: 10
投稿日時: 2002-10-09 02:17
Kissingerさん、しょむさん、ご返答ありがとうございます。

1.について・・・
encodeURLを使っている場合にクッキーがなければ
つけてくれるってことですね。
で、jsessionidをつける方法をURL rewriteという方法なんですね。

2.について・・・
Cookieを使うとjsessionidを使うよりは安心っていうことで、
Cookieだから完全っていうわけではないってことですよね。
ということはCookieを対応していない旧式の携帯電話は
なりすましは覚悟の上で使うしかないってことですよね。
(いいすぎかもしれませんが)
旧式の携帯対応のWEBサイトは非常に難しいですね。
怖いですね。今では携帯でお金を扱うサイトもあるのに。。。


で、返答していただいた内容の中に”Referer”というものがありましたよね。
HTTP‗Refererのことでしょうか?
それをちょっと調べてみましたが間接リンクに変換するものという記事を見ました。
どこからリンクが貼られたのかわからないようにするってものと解釈しました。
とすると安全こそあれ、なぜ危険なのかがわかりませんでした。

よろしければRefererについて教えていただけないでしょうか?
よろしくお願いします。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-10-09 02:59
HTTP-REFERER は、「リンクをたどってきたときのリンク元の URL」です。
ブラウザ的には、リンクをたどったとき「のみ」REFERER を設定すべきなのですが、
一部のブラウザには、たとえばブックマークから選んだにもかかわらず、
「履歴に残っている最後の URL」を REFERER として設定するものがあります。

この「残っていた URL」に jsessionid が含まれていたとしたら…。
1

スキルアップ/キャリアアップ(JOB@IT)