Конечно, это безопасно, но есть меры предосторожности, которые вы должны предпринять, чтобы предотвратить небезопасные обстоятельства / атаки.
Нет ничего плохого в описанном вами механизме. Но реализация является неполной / неопределенной. Вы должны рассмотреть вопрос о хранении пароля и процедуры, которые вы будете использовать для входа в систему.
В ответ на жалобу вот некоторые проблемы, которые OWASP поднимает об аутентификации / сеансах.
1. Всегда ли учетные данные защищены при хранении с использованием хеширования или шифрования?.
Да, храните пароли своих пользователей в виде соленых хэшей.
2. Могут ли учетные данные угадываться или перезаписываться с помощью слабых функций управления учетными записями (например, создание учетной записи, изменение пароля, восстановление пароля, слабые идентификаторы сеанса)?
Нет, эти функции должны быть защищены секретным вопросом / ссылкой на электронную почту.
3. Отображаются ли идентификаторы сеанса в URL (например, перезапись URL)?
Нет, их не должно быть.
4. Являются ли идентификаторы сеансов уязвимыми для атак фиксации сеансов?
Нет, не разрешайте пользователям устанавливать свой идентификатор сеанса с помощью любых средств, кроме входа в систему.
5. Превышено ли время ожидания идентификаторов сеансов и могут ли пользователи выходить из системы?
В тех случаях, когда пользователь не указал иное «оставаться в системе в течение двух недель», срок действия сессий должен скоро закончиться.
6. Поворачиваются ли идентификаторы сеанса после успешного входа в систему?
Да, использование session_destroy()
и session_start()
позволит это сделать.
7. Пароли, идентификаторы сеансов и другие учетные данные отправляются только по соединениям TLS?
Конечно.
В конечном счете, вы должны учитывать тип данных, которые вы будете обрабатывать. Никогда не позволяйте кому-либо получить доступ к паролю пользователя, так как это может скомпрометировать его данные в другом месте. Но, если вы пользуетесь colorakitten.com, не теряйте сон из-за возможности угона сессий: «О нет, кто-то взломал мой аккаунт и обесцветил моих котят».
Чтение: Безопасность сеанса PHP