memokami

::

技術メモ


ウェブとケータイを中心にメモする技術ドキュメント
技術ドック > PHP > Tips > セッション廃棄は気をつけよう

セッション廃棄は気をつけよう

Javaと違って、PHPって結構セッション廃棄をちゃんと考えてあげないといけなかったり、

session_destroy()

ってコマンドはあるけど、実はセッションファイルを消してくれるだけで、

ちっともインテリジェンスなことをしてくれないわけです。

ためしに

session_start();
$_SESSION['hoge'] = 'arakiです。';

session_destroy();
print($_SESSION['hoge']);

なんてかくと、何事もなかったように'arakiです'と出てきたり。

結構このワナにはまっているアプリはあるものです。



というわけでセッションを廃棄するときは以下の3つをやる必要があります。

1.メモリ上のセッション情報を消す。
2.ブラウザのクッキーからセッションを消す。
3.セッションファイルを消す。

これだけやっておけば、安心ってわけです。

//1.メモリ上のセッション情報を消す。
$_SESSION = array();

//2.ブラウザのクッキーからセッションを消す。
if (isset($_COOKIE[session_name()])) {
   setcookie(session_name(), '', time()-42000, '/');
}

//3.セッションファイルを消す。
session_destroy();