PHPでセッションを実行する
セッションの概要
1.セッション利用開始
2.セッション変数の存在を確認 →無ければセット
3.セッション変数にアクセス
4.セッション変数、クッキー、セッションファイルを削除
セッションの利用開始
session_start();
→クッキー名「PHPSESSID」、クッキー値:セッションIDのクッキーがクライアントに生成
→$_SESSIONという配列変数がサーバ側に生成
セッション変数の存在を確認
isset($_SESSION[key])
セッション変数にセット
$_SESSION[key] = $text;
※通常の配列と同じ
※キーと値はサーバ側に保存される
セッション変数の初期化
$_SESSION = array();
セッションクッキーを削除
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(),'',time()-42000,'/');
}
セッションファイル(サーバ側)の削除
session_destroy();
ワンタイムセッション
セッションハイジャック対策
session_start(); // 一旦セッションを開始
$tmp = $_SESSION; // 変数値を退避
$_SESSION = array(); // 空にする
session_destroy(); // 破棄
session_id(md5(uniqid(rand(), 1))); // セッションIDを更新
session_start(); // セッションを再開
$_SESSION = $tmp; // セッション変数値を引継ぐ