- - PR -
ログオフ後、「戻る」で前のページを表示しないようにしたい
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-29 20:38
いや、Wingard さんは単にキャッシュを見られるのが困ると仰っているんじゃないでしょうか。
ところで、ユーザーがさっきまで見ていたキャッシュが表示されたら、何故セキュリティ的によろしくないのでしょうか?私は別に構わないと思うのですが。 「キャッシュに大事なものが残っているから困る」というのはユーザーの勝手では? _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2007-01-29 23:14
このあたりから微妙に双方(Wingardさんと回答者)の認識がずれてきているように思う のですが、どうでしょうか。 Wingardさんが他人に自分のやっていることを説明するにも、逆に回答者が答えたことを 理解するのにも、ASP(というよりWebアプリケーション)がどういう仕組みで動くかを知っ ているに越したことはないでしょう(むしろぜひ知っておいてほしい)。 未記入さんの「適当なASPの本を一冊通して読むことをお勧めします。」はそれを示して いたのだと思います(さすがに省略しすぎてわかりにくいですが)。 で、未記入さんはなぜそれを突然言い出したかと言えば、Wingardさんの質問が「Web アプリケーションの基礎を知っている人間ならば絶対に言い出さないであろう話」だからだ と思うのです。 いや、それは知ってるよ、ということもあるかもしれません。でもそれは表現しなければ伝 わらないんじゃないかなと。事実、私も「あーこれは基礎から勉強したほうがいいな」と感 じましたし。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 | ||||||||
|
投稿日時: 2007-01-30 07:11
ログオフは、クッキーを削除とかいいながら、セッション破棄だし.. [ メッセージ編集済み 編集者: Jitta 編集日時 2007-01-30 07:20 ] | ||||||||
|
投稿日時: 2007-01-30 09:18
ご回答ありがとうございます。
正直なところ、ASPはよく理解できていません。 データベースに出し入れすること以外は、 C#とHTMLだけでコードを書いてるのとほとんど変わらないと思います。 ただ、納期が近いのに顧客から突然 「ログイン・ログアウトできるようにしてほしい」 と言われたので、形だけでもできればと思い質問させていただきました。 >ログオフは、クッキーを削除とかいいながら、セッション破棄だし というのは、クッキーを削除しようとしたけどダメだったので、 結局クッキーは削除せず、とりあえずSignOutだけさせておいたという感じです。 現状でも、ログアウト後は一切の操作はできなくなりますが、 前回の検索結果などがそのままキャッシュで残ってるので、 単純にそれを表示させたくないのです。 そのためには「戻る」を無効にするのでも、 いっそブラウザを強制的に閉じてしまうのでも有りだと思いますが、 結局キャッシュが残っていると見る人が見ればわかるんじゃないかと思い、 キャッシュを消す方法がないかを質問しました。 そのためにはキャッシュを消すのじゃなく、 そもそもキャッシュを残さない方法を取るのがよさそうですね。 ひとまずそこらへんを重点的に調べてみます。 | ||||||||
|
投稿日時: 2007-01-30 11:22
どう頑張っても完全には無理です。 キャッシュを見られるのが困るんですよね? ログアウトしているのにキャッシュからリクエストされるではなく。 「セキュリティ上よろしくないので、印刷しないでください。ログアウトしたら印刷した紙を焼き払いたい」と言っているのと同じような事だと私は思いますけども。 _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2007-01-30 12:24
「無理」と断った方がいいのでは? (自分の能力を超えた依頼について、保証できるんですかい?) ぽぴ王子さんが書かれたように、「Web アプリケーションの基礎を知っている人間ならば絶対に言い出さないであろう話」だから、一つHTTPの基礎あたりから学習しなおすのがいいかと思います。 (個人的には、telnetなんかでリクエストをしてみて「これだけの事からあれだけのアプリが作れるの?」と驚いてみる辺りからやるといいんじゃないかと。) | ||||||||
|
投稿日時: 2007-01-30 13:02
るぱんです。
全ての画面の画面IDを配列でセッションで持ちまわって、 更新前の状態で、2こ前の画面の画面IDが 当該処理の結果画面と同じ結果になるようなリクエストを受け取ったら、 ログアウトしてセッションを強引に破棄するとかどう? って、論点ずれてるかな? [追記] ちなみに、画面処理の関数の前でたぶん、イニシャライズ処理をするところが あると思われるので、 そこに共通部品で差し込んだら終わらないかな? POSTBACKでセッションが壊れてたら、ログアウトして、ログインしなおす様にするって 感じですが。 他の方が書かれていますが、 わからない、出来ないことは、出来ませんと言えることが良いSEの条件だと思います。 [/追記] [ メッセージ編集済み 編集者: るぱん 編集日時 2007-01-30 13:07 ] | ||||||||
|
投稿日時: 2007-01-30 13:17
ご回答ありがとうございます。
とりあえず、「難しい」ってことを伝えます。 ひとまず、Web.Configを次のように書き加えることで、 「戻る」を押しても「警告 : ページの有効期限切れ」と表示されるようになりましたので、 これで納得してもらうようにします。
|