(1)chromeの設定によってはcookieが残り続けます。
phpのセッションIDはブラウザのcookieに格納されており、
有効期限Expireも設定されているのだけど、
chrome の設定によってはExpireが有効に働かない。
http://www.sakataya.sakura.ne.jp/wp/?p=34
IEやらFireFoxでやってみると、cookieをセットしてブラウザ落としたら
ちゃんと削除されてる。
chromeで検証してたらあら不思議。
ブラウザを落とせど落とせども、sessionのcookieは消えない。
ブラウザを起動した際に、中断した箇所から
続けるという設定をしていたのだが、この設定によってsessionという概念は
なくなっており、expires=sessionのcookieは削除されずにすんでいたわけだ。
(2)phpのセッション有効期限にも落とし穴があります。
引用を求めておられるので一部引用にしますが、
有益な情報が満載なので、必ずリンク先を参照してください。
http://pentan.info/php/session_gc.html
セッションの破棄されるタイミング
ガベージコレクト(ガベージコレクション、ガーベッジコレクション、ガーベッジコレクタともいわれます)とは、『ごみ拾い』という意味です。
session_start()が行われたときに、session.gc_probabilityを分子、session.gc_divisorを分母とする確率で、 session.gc_maxlifetimeよりファイル更新日付の古いファイルをsession.save_pathから削除します。
デフォルトでは、1/100の確率で、24分より古いセッションファイルが消えます。
セキュアなセッションの使い方
ログイン処理
クッキーでセッションIDが送られてきてるかもしれないので、 ログインなどでセッションに値を入れ始める前にセッションIDを変更する。
session_regenerate_id(true);
引数にtrueを入れると、既に入っている値も削除されます。
ログアウト処理
session_destroy();としても、それ以降でセッション変数が残っているのでこの値をリセットする。
session_unset();
または
$_SESSION = array();
このセッションIDがクッキーに残るのでクッキーを消す。
setcookie(session_name(), '', time() - 3600, "/");
その他
SSLのページから非SSLのページへは、同じサーバーであれば同じセッションIDで値を引き継ぐことはできますが、絶対にやってはいけません。
どうしてもやらざる得ないときには、都度セッションIDを変更したほうが安全です。
ユーザーページと管理ページが同じドメインのとき
session_name('admin');
上記のようにして、どちらかのセッション名を変更すると別々のセッションIDが発行されるため片方でログアウトしても、もう片方はログアウトされません。
設定] > [詳細設定を表示] > [コンテンツの設定] > [ブラウザを終了するまでローカル データを保存する]
にチェックすると、中断した箇所から続けてもsessionのcookieは消えました
chromeのsession cookie | げんげんブログ
javascript - Chrome doesn’t delete session cookies - Stack Overflow
ブラウザ毎の新たに新規起動した際のセッションクッキーの扱いの比較
http://tmizuno3.cocolog-nifty.com/blog/2009/11/post-d032.html
----------
ブラウザ側のクッキーの動作の問題なので
サーバー側ではほとんど何もできません。
-------------
chromeの場合は、タブごとにプロセスが別なので
そういうのもあって、質問文のような動作がデフォルトになってるのではないでしょうか?
残らない方が一般的みたいです。
http://oshiete.goo.ne.jp/qa/3006476.html
セッション保存を行うのとは別の目的による保存と見られるため…なのか履歴には残らないですね。ま、一般的な挙動だとは思いますが
他のCookieは物理的にファイルとしてブラウザが管理するフォルダに格納されるのですが、セッションクッキーはそういうことはなく、ブラウザが閉じられるとデータが消えるって仕組みになっています。
Chromeはシークレット モードがあるからではないでしょうか
https://www.google.com/intl/ja/chrome/browser/features.html#privacy
ブラウザ限りのセッションにおけるブラウザ毎の挙動
http://blog.rutake.com/blog/techmemo/2007/10/post_25.html
その他参考サイト
http://pentan.info/php/session_gc.html
http://www.lifehacker.jp/2012/02/120221chromefirefox.html
コメント(0件)