Я пытаюсь создать систему входа в систему в php. У меня есть 3 файла. index.php, login.class.php (определяет класс Login), securePage.php.
Класс входа в систему имеет различные функции, такие как getUserName (), addUser () и т. Д.
index.php создает новый объект $ login, имеет форму входа и создает новую форму учетной записи.
Когда вы создаете учетную запись на странице index.php,
$ login-> addUser ($ username, $ password, $ first_name, $ last_name, $ email); выполняется функция, которая создает новую учетную запись.
После входа в систему и нажатия кнопки «Отправить» скрипт проверяет ваше имя пользователя / пароль / и т. Д. И перенаправляет вас на securePage.php.
После того, как я перенаправил на securePage.php из login.class.php, я не уверен, каков наилучший способ проверить, правильно ли пользователь вошел в систему и имеет ли вся информация пользователя под рукой.
Прямо сейчас мой securePage.php создает новый объект входа
$ логин = новый логин; и проверяет, есть ли у пользователя доступ к странице, вызывая checkAccess в классе Login.
// Проверить, есть ли у пользователя доступ к этой странице, в противном случае перенаправить на страницу входа
if($login->checkAccess()) {
//blah blah blah
}
Так выглядит функция checkAccess внутри класса входа в систему
public function checkAccess() {
// check the session access
if(isset($_SESSION['username']) ) {
//
return true;
}
}
Мне кажется, это плохая реализация, потому что
а) Я создаю новый объект входа и теряю свои данные
б) Я только проверяю, является ли сеанс безопасным, проверяя, установлено ли имя пользователя сеанса, которое, вероятно, может быть подделано.
Каков наилучший способ реализации securePage.php с точки зрения сохранения всех пользовательских данных и проверки, вошел ли пользователь в систему?