<pre lang="PHP"> <?php define('SESSION_PATH', dirname(realpath(__FILE__))); class AppSessionHandler extends SessionHandler { private $sessionLifeTime = 0; private $sessionSavePath = SESSION_PATH; private $sessionName = 'MyDefsultSession'; private $sessionPath = '/'; private $sessionDomain = 'phpdev'; private $httpOnly = true; private $secure = false; private $ttl = 1; public function __construct() { // default settings for session ini_set('session.use_cookies', 1); ini_set('session.use_only_cookies', 1); ini_set('session.use_trans_id', 0); ini_set('session.save_handler', 'files'); session_set_cookie_params($this->sessionLifeTime, $this->sessionPath, $this->sessionDomain, $this->secure, $this->httpOnly); session_name($this->sessionName); session_save_path($this->sessionSavePath); session_set_save_handler($this, true); } public function __set($key, $value) { $_SESSION[$key] = $value; } public function __get($key) { return (array_key_exists($key, $_SESSION)) ? $_SESSION[$key] : false; } public function start() { if (session_id() === '') { if (session_start()) { if (!isset($this->sessionStartTime)) { $this->sessionStartTime = time(); } } } } public function read($id): string { return base64_decode(parent::read($id)); } public function write($id, $data): bool { return parent::write($id, base64_encode($data)); } } $session = new AppSessionHandler(); $session->start(); $_SESSION['user'] = 'admin'; $_SESSION['password'] = '12334555'; $_SESSION['email'] = 'xx@xx.zz'; $_SESSION['logged'] = true; echo time() - $_SESSION['sessionStartTime']; <pre lang="PHP">
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)