public static function checkUser() { // Предотвращение перехвата сеанса $sessUserId = Session::get('user_id'); if (!isset($sessUserId)) { Session::destroy(); // unset($this->user); Session::setMsg('Произошла ошибка. Пожалуйста авторизуйтесь заново', 'warning'); return FALSE; } // Предотвращение фиксации сеанса (включая ini_set('session.use_only_cookies', true);) $sessGenerated = Session::get('generated'); if (!isset($sessGenerated) || $sessGenerated < time() - 30) { session_regenerate_id(); $_SESSION['generated'] = time(); } if ($sessUserId) { $userModel = new UserTableModel(); $userModel->setId($sessUserId); $userModel->setTable('user'); $username = $userModel->readRecordsById('id', 'username')[0]['username']; Session::set('username', $username); return TRUE; } return FALSE; }
public function logout() { Cookie::delete('remember'); Cookie::delete('generated'); Session::destroy(); // Session::unseted(['user_id', 'generated', 'username']); unset($this->user); }