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;       // セッション変数値を引継ぐ