2009-07-20 14 views
1

リクエストで渡された、まだアクティブなセッションからJSESSIONIDを使用してHttpSession(サーブレットフィルタでCookie付き)を再作成するにはどうすればよいですか?古いJSESSIONIDを使用してHttpSessionを作成するにはどうすればよいですか?

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

+0

どこから再作成しますか?セッションデータがどこかに隠されているということですか?シナリオは何ですか?クラッシュしたサーバーからの回復? – djna

+0

最初のユーザーはスタンドアロンアプリケーションを使用してログインし、JSESSIONIDを取得しました。モバイルブラウザを使用すると、ログインページを省略して同じアプリにアクセスする必要があります。彼はrecived JSESSIONIDを使用する必要があり、サーバーはCookieを再作成する必要があります。まず、標準のtomcat "; jsessionid = ACD ..."を試しましたが、これはすべてのAjaxの問題を解消します。 –

答えて

1

あなたがしようとしているのは、セッションをハイジャックすることです。名前の通り、悪意のあるユーザーが同じメカニズムを使用して優れたユーザーを偽装する可能性があるため、これはアプリケーションのセキュリティホールです。

2番目のクライアント(あなたの場合はモバイルブラウザ)はセッションIDを知る必要があるため、ログインを避けるだけでは何も得られません。セッションIDを入力します。

1

これは理論上、ひどく間違いやすいソリューションです。本当の解決策はどこかにある。関心のあるデータを、ログインしているユーザに関連付けられているいくつかのデータストア(SQLデータベース?)に格納します。こうすることで、使用するクライアントアプリケーションやマシンに関係なく、ログインごとに同じデータにアクセスできます。

関連する問題