![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_11.png?8acaa2e)
セッションIDについて
ASP.NETで開発しています。
セッションフィクセーション対策でログイン画面で初期表示のみセッションを削除しています。
「ログイン」ボタンを押して、Postbackされる時にセッションIDが再発行されます。
ここまでの流れはいいのですが、もう一度「ログイン」ボタンを押下すると
一回目の「ログイン」ボタン押下時に再発行したセッションIDが、二回目の「ログイン」ボタン
押下時にも再発行してしまいます。
私は一回目のPostback時にセッションIDが再発行されたら、
それ以降のPostback時は既存のセッションIDを使用する動きを予想していました。
なぜ二回目以降のPostback時にもセッションIDが再発行されてしまうのでしょうか?
ご存知の方がいましたら教えていただけないでしょうか。
No.1ベストアンサー
- 回答日時:
session fixation対策ということはcookieモードですよね?
セッションオブジェクトに何も格納していない場合、ページ要求ごとにSessionIDが再発行されるようです。
http://msdn.microsoft.com/ja-jp/library/system.w …
--- ここから引用 ---
Cookie ベースのセッション状態を使用する場合、ASP.NET は Session オブジェクトが使用されるまでセッション データのストレージを割り当てません。その結果、セッション オブジェクトがアクセスされるまで、ページ要求ごとに新しいセッション ID が生成されます。アプリケーションがセッション全体に対する静的な ID を必要とする場合は、アプリケーションの Global.asax ファイル内に Session_Start メソッドを実装し、Session オブジェクト内にデータを格納してセッション ID を固定するか、アプリケーションの別の部分のコードを使用して、明示的に Session オブジェクトにデータを格納します。
アプリケーションが Cookie なしのセッション状態を使用する場合、セッション ID は最初のページ ビューで生成され、セッション全体で保持されます。
--- ここまで引用 ---
私も同様の対策を調べていて、別のサイトでこの件を見つけました。
http://d.hatena.ne.jp/iltc/20080603/1212481925
※無許諾リンク御免
参考URL:http://msdn.microsoft.com/ja-jp/library/system.w …
amikazさん
回答の方ありがとうございます。現象の理由理解できました。
参考URLも分かりやすかったです。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- PHP ここで言うトークンの意味を教えてください。 3 2022/08/24 03:03
- HTML・CSS htmlで画面遷移させたい 1 2022/10/28 18:19
- PHP PHPのセッション有効期限について 5 2023/06/14 12:40
- PHP ログインした掲示板ですが、直接開かないような設計するには? 2 2022/10/29 16:30
- iCloud iPhone7を使っています。 メールのアプリをインストールして iCloudを選択してidを入力し 5 2023/05/03 00:44
- Yahoo!メール yahoo IDの事で教えて欲しい事があります。 同じ携帯番号で2つのアカウントを持っていたのですが 1 2022/05/10 12:36
- JavaScript javascript で外部サイトにデータ入力させて自動でボタンを押すことは可能ですか? 1 2023/01/30 16:23
- その他(IT・Webサービス) Yahoo!でログインしようとするとなぜか「不正利用が疑われる操作もしくは行為が検知されたため、利用 5 2022/11/01 16:07
- Google Drive 会社への勤怠届出にGoogleフォームを使用しています。 しかし、最近何故か『このサービスはビジター 2 2022/12/05 00:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コネクション・セッション・ト...
-
DVD-Rの「セッションを閉じる」...
-
セッションIDを取得したい
-
フォームデータをlocation.repl...
-
ブラウザを閉じずにセッション...
-
コンピュータへの接続数が最大...
-
DVDの中身が表示されません。
-
ショッピングカートのプログラ...
-
別ブラウザにセッションを渡す...
-
ASP.NET 電卓計算
-
Dreamweaver+PHP+MySQL・オスス...
-
思うように セッションの破棄...
-
SESSIDってなんですか?
-
VBAで一時中断したプログラムの...
-
DataGridViewのチェックボック...
-
Accessの画面更新を一時的に停...
-
複数選択のListBoxでClickイベ...
-
C# ボタンを押すとyahooのサイ...
-
asp.NET初心者です。「 ’Contex...
-
グリッドビューでのチェックボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コネクション・セッション・ト...
-
DVD-Rの「セッションを閉じる」...
-
コンピュータへの接続数が最大...
-
ブラウザの×(閉じる)ボタンの...
-
会社への勤怠届出にGoogleフォ...
-
ブラウザを閉じずにセッション...
-
SESSIDってなんですか?
-
DVDの中身が表示されません。
-
セッションIDを取得したい
-
WebBrowserを初期化
-
フォームデータをlocation.repl...
-
ルータのPPPのランプの色が変
-
CD-Rのセッションクローズを調...
-
ディスクのセッションを閉じる...
-
ASP.NET 電卓計算
-
javaでのアクセスカウント
-
Apacheでセッション管理
-
思うように セッションの破棄...
-
ASPで別ページにPOSTで送信した...
-
CD-Rに追記したときに消え去っ...
おすすめ情報