Wednesday, December 29, 2010

[PHP] 清除SESSION的標準作法(可應用於使用者登出)

假設一個系統是採用SESSION作為使用者登入的判斷機制(例如:$_SESSION['user_id']),那我們在撰寫使用者登出的程式碼時,標準作法應該是...
1、清除SESSION
說明:採取清除當前所有的SESSION變數的做法。
作法:$_SESSION=array();

2、清除存放SESSION ID的COOKIE
說明:因為當SESSION被啟動時,它會產生一個獨一無二的識別ID,並將這個識別ID暫時的存放在COOKIE上,所以登出時也必須將這個COOKIE清掉。(例如:某識別ID為$_COOKIE['PHPSESSID'],其值為bbcbfb87abfb1836e47db9d4448f41c1)
作法:setcookie(session_name(),'',time()-3600);

3、結束SESSION
說明:雖然關掉瀏覽器也會結束SESSION,但是養成手動結束是好習慣。
作法:session_destroy();

No comments:

Post a Comment