Проверка входа с запросом базы данных на каждой странице

Я создаю безопасную систему входа в систему на PHP.
На каждой странице административной области я хочу быть уверен, что пользователь правильно вошел в систему, что его учетная запись все еще включена, что пользователь один раз подключился к своей данные для входа (когда пользователь входит в систему в первый раз, для статуса active_user устанавливается значение 1).

function isCookieValid() { global $pdo; $isValid = false; if(isset($_COOKIE[«rememberUser»])) { $decryptCookie = base64_decode($_COOKIE[«rememberUser»]); $user_id = explode(«mMUa26yB943jRaJl755OM18jgR», $decryptCookie); $user_id = $user_id[1]; $sqlQuery = «SELECT * FROM users WHERE id_user = :id»; $stmt = $pdo->prepare($sqlQuery); $stmt->execute(array(«:id» => $user_id)); if ($row = $stmt->fetch()) { if($row[«enabled_user»] === 1 && $row[«active_user»] === 0) { unset($row[«password»], $row[«salt»]); $_SESSION[«current_user»] = $row; $isValid = true; } else { logout(); } } else { logout(); } } return $isValid; }

Я запрашиваю базу данных на каждой странице, для каждого пользователя, чтобы проверить, соответствует ли файл cookie, который хранится на компьютере (я автоматически активирую файл cookie, потому что для моего приложения необходимо, чтобы все пользователи вошли в систему в течение длительного времени) соответствует идентификатору пользователя в базе данных. Если это так, я создаю переменную, в которой хранятся данные о пользователе. Затем для защиты своих страниц я использую функцию isLoggedin(), а именно:

function isLoggedin() { if(isCookieValid()){ if(isset($_SESSION[«current_user»])) { return true; } } return false; }

Не слишком ли тяжела эта система? Потому что я проверяю базу данных на каждой странице, для каждого пользователя. заранее спасибо

Сессии намного лучше, чем файлы cookie. Никогда не позволяйте конфиденциальным данным покидать сервер. Пожалуйста, прочитайте здесь о шифровании файлов cookie. Также прочитайте здесь о безопасности сеанса.   —  person Yoyo    schedule 15.11.2019

Источник: ledsshop.ru

Стиль жизни - Здоровье!