✅ Управление аккаунтом

Система управления аккаунтом обеспечивает полный цикл работы пользователя с сайтом NovikovLab. Она включает в себя регистрацию нового пользователя, авторизацию, изменение персональных данных и безопасное удаление учётной записи. При разработке особое внимание уделялось простоте интерфейса, надёжности хранения данных и безопасности всех операций, связанных с доступом к аккаунту.

Регистрация нового пользователя предусматривает проверку корректности всех введённых данных ещё до создания учётной записи. Выполняется контроль длины логина и пароля, проверяется формат адреса электронной почты, а также уникальность логина и почты. Пароль никогда не сохраняется в открытом виде — перед записью в базу данных он проходит хеширование с использованием современных средств PHP.

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

В разделе настроек пользователь может изменить адрес электронной почты или заменить пароль. При смене почты выполняется проверка её формата и отсутствия совпадений с уже существующими адресами. Для изменения пароля требуется ввод текущего пароля, после чего система проверяет его правильность и только затем позволяет сохранить новый пароль. Такой подход исключает возможность случайной или несанкционированной смены учётных данных.

Для обеспечения целостности базы данных при регистрации и изменении настроек реализованы дополнительные проверки уникальности логина и электронной почты. Благодаря этому в системе не могут существовать два пользователя с одинаковыми учётными данными, что значительно упрощает авторизацию и предотвращает возможные конфликты.

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

Восстановление пароля предусмотрено архитектурой проекта и будет реализовано после настройки собственного почтового сервера NovikovLab. Планируется использовать доменный почтовый адрес для отправки кодов подтверждения, что позволит обеспечить безопасное восстановление доступа к аккаунту без использования сторонних сервисов. Такой подход соответствует общей концепции проекта, в которой веб-сайт, база данных и почтовая система работают на собственном сервере и полностью контролируются владельцем проекта.

NovikovLab не хранит пароли пользователей в открытом виде. Во время регистрации или смены пароля введённый пароль проходит одностороннее хеширование с использованием встроенного механизма PHP (password_hash). В базе данных сохраняется только полученный хеш, тогда как исходный пароль нигде не записывается и не может быть просмотрен даже администратором сайта.

При авторизации введённый пользователем пароль не сравнивается с каким-либо сохранённым текстом. Вместо этого система вычисляет соответствие между введённым паролем и сохранённым хешем с помощью функции password_verify. Благодаря этому пароль никогда не передаётся и не хранится в открытом виде после его обработки.

Даже в случае получения злоумышленником доступа к базе данных он увидит только хеши паролей, а не сами пароли пользователей. Такой подход является современным стандартом защиты учётных записей и значительно снижает риск компрометации пользовательских данных.




НАЗАД