Я создаю админ-панель для регистрации поломок, сохранения задач, регистрации ошибок и многого другого. В настоящее время у меня есть следующий фрагмент кода в верхней части экрана, который проверяет, вошли ли пользователи в систему, если они не отправлены на страницу входа / создания пользовательской страницы.
<?php
session_start();
include 'login/config.php';
if(!isset($_SESSION['username'])){
header('location:login/index.php');
exit();
}?>
Я чувствую, что могут быть лучшие способы сделать это, а также более безопасные способы.
Имя пользователя и пароль требуются для входа и перехода на начальную панель управления и уровни статуса пользователя. & разрешения будут добавлены позже.
ВОПРОСЫ::
Как сделать систему более безопасной, улучшив код или добавив дополнительные функции безопасности?
А ТАКЖЕ
Как я могу войти в свою базу данных SQL, когда пользователь входит и выходит из системы администратора?
Что касается безопасности, я там не эксперт, поэтому я лучше подожду и посмотрю, что скажут другие люди, так как это очень интересная тема. Но я все равно выскажу свои мысли.
Прежде всего, вы должны позаботиться о SQL-инъекциях при входе в систему, всегда проверять входные данные от пользователей, особенно по операциям CRUD. Я думаю, что защита ваших страниц с помощью сессий должна быть достаточно хорошей, если сам вход в систему безопасен, например, вы можете внедрить систему, которая будет блокировать IP после нескольких неудачных попыток входа в систему и т. Д.
Во второй части вы можете создать таблицу, т.е. userlog
который будет содержать поля, которые вы хотите, user_id, action(login/logout), time
,
Затем каждый раз, когда пользователь выполняет вход / выход, вы просто вставляете новую запись в таблицу. Этот фрагмент кода будет находиться там, где вы устанавливаете / отменяете сеанс.
Не уверен насчет эффективности этого метода, но это способ реализовать то, что вы говорите.
Вы можете создать таблицу, такую как login_history, которая имеет поля loginTime и logoutTime согласно системному времени. Когда пользователь входит в систему, loginTime вставляется, а когда он выходит из системы, запись обновляется с помощью logoutTime.