• 締切済み

IEの[新規作成(N)]→[ウィンドウ(W)]によるセッション管理。

お世話になります。 只今、ASP.NET(VB.NET)アプリケーションを製造しています。 ログイン情報などをセッションで管理しているのですが、IEの[ファイル(F)]→[新規作成(N)]→[ウィンドウ(W)]で新規にブラウザを表示すると同じ画面が表示されSession情報が共有されます。更にViewState情報も表示元のViewState情報がコピーされたような状態になってしまいます。 [ファイル(F)]→[新規作成(N)]→[ウィンドウ(W)]で新規にブラウザが開かれた際に「新たにSessionが確立される。」または新規で開かれたブラウザだと判断する事は可能でしょうか?? なお新規にブラウザが開かれた際には、サーバサイトのPage_Loadイベントは発生していませんでした。Bodyタグのonloadには反応しました。 非常に困っております。ご教授願います。

みんなの回答

回答No.2

お世話になります。 こちらをご覧下さい。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30619&forum=12&6 http://www.atmarkit.co.jp/fdotnet/entwebapp/entwebapp06/entwebapp06_06.html <引用> DHTMLを利用することで、ブラウザ上での操作をある程度制約することはできる。しかしこの方法は「悪意のない人たちの操作ミスによる誤動作を防ぐ」ためのものであり、悪意のある人たちによる不正操作や捏造データの送信を防げるものではない。 </引用> いかような手を使っても、 根本的な解決には至らないのが現状だと思われます。

noname#30420
質問者

お礼

ご回答ありがとう御座います。 やはり根本的な解決は難しいんですね。 どのレベルまでの小手先対応を行うか検討してみます。 ありがとう御座いました。

回答No.1

お世話になります。 参考 URL は JSP についてのお話ですが、 以下の部分は、サーバー側が何で実装してあろうと 同じ事が言えます。 スタートアップやショートカットから別々に立ち上げたブラウザは、別プロセスになります。 しかし、立ち上がっているブラウザから新規作成や"Ctrl+N"で立ち上げた場合は、同一プロセスとみなされます。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2240309
noname#30420
質問者

お礼

回答ありがとう御座います。 同一プロセス内で複数ブラウザが開かれている状態になるんですね。 となると…サーバーサイトで対応は無理として、クライアントサイトで新規作成や"Ctrl+N"で開かれたブラウザかの判断は可能なのでしょうか?? 最悪は新規作成や"Ctrl+N"などをさえない対応になるのかなと… ご教授お願い致します。

関連するQ&A

専門家に質問してみよう