- - PR -
「新規作成」→「ウィンドウ」でのセッション共有問題
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-18 11:27
みなさんこんにちは。
Strutsでウェブアプリを作成しているのですが。 IEのブラウザを「新規作成」→「ウィンドウ」として、 新しいウィンドウを作成した場合。 新しいウィンドウの方でもセッション変数が共有化されてしまい、 2つのウィンドウを交互に別々の操作をしていった場合、 セッション変数が意図していないところで変更され、 問題が発生する事が予測されます。 このような問題について、何か対策を講じる事はできないのでしょうか? 「新規作成」→「ウィンドウ」を行なわないでくださいと、 注意書きを行なうしかないのでしょうか。 | ||||
|
投稿日時: 2006-05-18 12:44
同期トークンを使ってみてはいかがでしょうか。
| ||||
|
投稿日時: 2006-05-18 13:22
サーバサイドとしてはTokenだけで十分だと思います。
(というか必須だと思う) 新規ウィンドウ操作をされないようにしたいのであれば、 「ログイン」や「サイトに入る」操作をされたときに、 JavaScriptでメニューバーを消した別ウィンドウが開くようにするといいのでは? http://html.appelle.jp/2006/01/post_142.html | ||||
|
投稿日時: 2006-05-18 19:04
[Ctrl]+[N]でも開けますし、小手先の対策は絶対に破綻します。 (というか、私はかなり愛用しています。。。) | ||||
|
投稿日時: 2006-05-18 22:35
回答ありがとうございます。
同期トークンを検討してみましたが、 色々な所に作りこまなければいけなく、処理が複雑になりそうです。 何か良い方法がないか考えてみます。 | ||||
|
投稿日時: 2006-05-19 00:11
>>かつのり様
小手先というか、見た目やショートカットキーをJavaScriptで禁止することで、 ユーザに操作が不可能であることを明示しておくといいのでは?というつもりで書きました。 なので >サーバサイドとしてはTokenだけで十分だと思います。 ということです。 >>うる様 >色々な所に作りこまなければいけなく、処理が複雑になりそうです。 Actionに1つクラス階層を増やしてはいかがですか? たとえば、私は Action > TokenAction > 個々のAction のようにしています。 | ||||
|
投稿日時: 2006-05-19 10:25
回答ありがとうございます。
JavaScript無効の場合は使えないようにし、 JavaScriptでのメニューバー消しと、 JavaScriptでのCtr+nの禁止で対応したいと思います。 社内だけの運用なので、これでいけると思います。 |
1