- - PR -
ASP.NET+C#のページ遷移で戻るボタンとブックマークの判断方法
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-12-01 20:50
ASP.NET+C#で開発をしているのですが、ブラウザの戻るボタンとブックマークが押されたときに
サーバー側のPage_Loadでどちらから来たのか判断したいのですが、判断する方法はありますでしょうか? まず、クライアント側でキャッシュを持っていると、ページが切り替わってもキャッシュを見ているのでPage_Loadイベントが 発生しないのでキャッシュを持たないようにクライアントのaspxに<%@ OutputCache Location="None"%>を設定しています これで、戻るボタン、ブックマークとも遷移先のページでPage_Loadイベントが発生しました。 次に、戻るボタンで遷移したのか、ブックマークで遷移したのかの判断を行いたいのですが どのような判断方法がありますでしょうか? ※業務で戻るボタンは許すがブックマークは許さないという制限を考えているようなので まず、判断ができるのかを調べています。 よろしくお願いします | ||||
|
投稿日時: 2008-12-01 20:54
セッション
| ||||
|
投稿日時: 2008-12-01 21:13
Jittaさん
セッションでログインしているかどうかの管理はしているのですが 戻るとブックマークで戻ってきた場合にPage_Loadイベントでは 両者ともセッションに値は入っていたのでどのように判断できるのかがわかりません。 申し訳ございませんが、もう少し情報をいただければ自分なりに調べてみます。 よろしくお願いします。 | ||||
|
投稿日時: 2008-12-02 09:13
ご参考までに。
ASP.NET 1.1 「リロード」で、データを2重登録させない | ||||
|
投稿日時: 2008-12-02 19:34
セッション情報があるブラウザで、セッションの有効期間中にブックマークを利用すれば、セッション情報にアクセスできます。これを防止する方法は、ないと思います。
| ||||
|
投稿日時: 2008-12-03 00:35
ブックマークできないということは、デスクトップにショートカットですか? ブックマークからアクセスしたときと、 ショートカット経由でアクセスしたときの、 送信されたパケットをモニタしてみると分かると思いますけど、 違いはないと思います。 ブックマークされようが、二重送信されようが、戻るボタンを押されようが、 何されても問題のないアプリにするべきで、 ブラウザの挙動なんかに頼るのは筋違いなんですが、 今の状態でとりあえず対応するとなると、 リファラーの有無で判断するというあたりですかね。 ブラウザによってはリファラーを送らない設定が簡単にできるので、 当然そういう設定ならばアクセスできなくなってしまいます。 所詮WEBアプリなんてHTTPでの通信をするだけのもので、 OSやブラウザと統合されたアプリではないのです。 |
1