人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Webページを表示するために、IEを普通の方法で起動し表示した場合と(ファイルを表示する)エクスプローラのアドレスバーにURLを入力して起動した場合の違いは何でしょうか?
IIS5.0+ASPで動いているWebアプリケーションがあるのですが、エクスプローラで開いた場合、ポップアップしたウィンドウにsessionが引き継がれずに困っています。

●質問者: kusamakura
●カテゴリ:コンピュータ
✍キーワード:ASP IE URL Web アドレスバー
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● tomo_k
●25ポイント

http://www.hatena.ne.jp/1134557325#

人力検索はてな - Webページを表示するために、IEを普通の方法で起動し表示した場合と(ファイルを表示する)エクスプローラのアドレスバーにURLを入力して起動した場合の違いは何でしょうか..

IEではセッションはIEのプロセスごとに管理されています。

たとえば、セッションを使っているWebアプリケーションにおいて1台のマシーンで2つのIEを起動し一つは画面遷移してとあるURLにたどりつき、その後もう一つのIEでURLを直接入力したのではセッションは引き継がれません。


ポップアップした場合は同一プロセスでIEが動いているはずなのでセッションは引き継がれても良さそうですけど……。セッションのスコープに問題があることは考えられますけど。

◎質問者からの返答

回答文の「同一プロセス」の単語にピンと来て、タスクマネージャでプロセスの変化を見てみたら、エクスプローラの場合は親ウィンドウがexplorer.exeで、ポップアップを表示すると別プロセスのIEXPLORE.EXEを起動してる様です。これだよ(笑)。気付かせてくれてありがとうございました。

で、なにかうまい方法は有りませんか?


2 ● tomo_k
●25ポイント

http://d.hatena.ne.jp/tomo_k/20051214/1134567652

ともの日記 - 質問

別プロセスで動いていましたか。


さて、代替の方法ですがどのようなものを作っているか皆目見当がつかないのではずしていたらごめんなさい。


一つの方法としてクエリーストリングとして情報を与えてあげる。いわゆる、GETコマンドですね。最低、キーとなっている情報を与えることができればいいでしょう。

オブジェクトを渡す必要があるのならお手上げですが。

方法論はわかりませんがセッションIDを渡してあげてセッションを横取りしてしまう方法。ただし、第三者によるセッションハイジャックの懸念がありセキュリティ上大きな問題ありです。


どうしても、セッションを引き継がなければならない致命的な理由がなければGETコマンドで逃げることができるかと思います。その場合でもURL文字列にいろいろと情報が載ってくることになります。


尚、2回までしか回答ができないようですのでこの回答のコメントにより気付いたことがあれば自分の日記にこの質問にトラックバックする形で書きます。

◎質問者からの返答

やっぱり、そういう手順ですかね。

sessionオブジェクトでは大したデータ扱ってなかったので、applicationオブジェクトと自前で管理したcookie使って自力でセッション管理するように変更しました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ