Я начал использовать PHP пару месяцев назад. Для создания система входа на мой веб-сайт, я читал о файлах cookie и сеансах и их различиях (файлы cookie хранятся в браузере пользователя, а сеансы на сервере). В то время я предпочитал файлы cookie (а кто не любит файлы cookie ?!) и просто сказал: «Кого это волнует? У меня нет никакого дела с хранением его на моем сервере», поэтому я пошел дальше и использовал файлы cookie для своего дипломного проекта бакалавриата. Однако после того, как я выполнил большую часть своего приложения, я услышал что для конкретного случая хранения идентификатора пользователя сеансы более уместны. Поэтому я начал думать о том, что бы я сказал, если жюри спросит меня, почему вы использовали файлы cookie вместо сеансов? У меня есть только та причина (что мне не нужно хранить внутреннюю информацию о пользователе). Достаточно ли в качестве причины ? или это больше чем это?
Не могли бы вы рассказать мне о преимуществах / недостатках использования файлов cookie для хранения идентификатора пользователя?
Спасибо вам всем в StackOverflow!
Правила, заказанные приоритетом:
Сессии используют cookie! данные Сессии хранятся на стороне сервера, но UID хранится на стороне клиента в cookie. Это позволяет серверу соответствовать данному пользователю правильным данным сессии. UID защищен и трудно взламывать, но весьма уязвимый. Для чувствительных действий (изменяющий электронную почту или изменяющий пароль), не полагайтесь на сессии никакой cookie: попросите пароль пользователя подтверждать действие.
Уязвимые данные никогда не должны храниться в cookie (электронные письма, зашифрованные пароли, персональные данные...). Следует иметь в виду, что данные хранятся на внешнем компьютере, и если компьютер не является частным (класс или общедоступные компьютеры), кто-то еще может потенциально считать содержание cookie.
Помнят - меня , данные должны храниться в cookie, иначе данные будут потеряны, когда пользователь закроет браузер. Однако не сохраняйте пароль, или пользовательские персональные данные в 'помнят - меня' cookie. Храните пользовательские данные в базе данных и свяжите эти данные с зашифрованной парой идентификатора / ключ, сохраненный в cookie.
После рассмотрения предыдущих рекомендаций, следующий вопрос наконец, что помогает Вам выбирающий между cookie и сессиями:
персистентные данные должны остаться, когда пользователь закрывает браузер?
Источник: https://www.lucidar.me/en/web-dev/sessions-or-cookies /