セッションファイルとは?
状態:-
閲覧数:1,833
投稿日:2014-06-21
更新日:2014-06-21
ユーザが定義したセッション情報を格納したファイル
セッションファイル中身例
デフォルト
・Webサーバの/tmp/ディレクトリに格納されている
「.htaccess」でセッションファイル保存先を変更する方法
・php_value session.save_path /○○/△△
「php_value session.save_path」でファイルが作成される理由
・「session.save_handler」のデフォルト指定がfileとなっているため
セッションファイル名
・sess_セッションID
セッションファイル名例
・sess_6l844hakk2e2r6h2qafvaf3hr0
・sess_leoavujtn4gc5s5nlad1ls39i4
セッションファイル中身例
SCRIPTQUIZ|a:1:{s:7:"modules";a:1:{s:3:"mcq";s:15:"modules/mcq.php";}}
デフォルト
・Webサーバの/tmp/ディレクトリに格納されている
「.htaccess」でセッションファイル保存先を変更する方法
・php_value session.save_path /○○/△△
「php_value session.save_path」でファイルが作成される理由
・「session.save_handler」のデフォルト指定がfileとなっているため
セッションファイル名
・sess_セッションID
セッションファイル名例
・sess_6l844hakk2e2r6h2qafvaf3hr0
・sess_leoavujtn4gc5s5nlad1ls39i4
セッションファイルの特徴
セッションファイル保存内容
「セッションID」と「セッションデータ」以外は保持していない
・「どのサイトの管理下にあるセッションなのか」という情報は格納されていない
・$_SESSIONに設定された値だけを格納している
→ ドメインの区別をしていない
削除する際、問題発生
session.save_pathを指定していない場合
・サーバ中のセッションが、全て1ディレクトリへ格納されている
あるサイトのセッション有効期限を変更した場合
・一番短いセッション有効期限を設定したサイトに、他サイトのセッション有効期限も引きずられてしまう
・セッションファイルにはドメイン情報は含まれていないため
→ 有効期限のみでしか判断できない
※セッションのGCは、セッションファイルの更新日時だけを見て、古いと判断したものを全て削除する仕様だから
セッション有効期限を変更する場合は?
サイトごとにセッションファイル格納ディレクトリを個別設定しておく