отличие сессий от кук [дубликат]

161
26 апреля 2019, 15:40

На данный вопрос уже ответили:

  • Разница между Cookies и сессиями 3 ответа

всем привет в чем их отличие? в каких вещах нужно применять первое а в каких второе?

Answer 1

Сессия - это нечто у вас на диске или в БД, ключ к которому хранится в куке (cookie, печенька). Кука же - это один из способов поддерживать сессию.

Например, в куках может быть такая строка:

sid=d347d41570f1bf39826554a01; referer=224211

Первая кука sid - это определённо сессионная кука. По её вы можете из БД или из файла получить какие-то данные, которые по умолчанию видны только вам. Значение сессионной куки, как правило, непрозрачно для пользователя, содержит случайные данные. Если вы видите строку со случайными данными, то это, скорее всего, именно сессионная кука. (Конечно, имя тут ещё одна подсказка.)

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

Итого, сессию нужно использовать:

  • Если пользователь не должен видеть что вы храните в сессии.
  • Если не нужен доступ к данным из скриптов в браузере. Сессионные куки как правило не видны из скриптов, и даже если видны - от случайной строки скриптам никакой пользы.

Простые куки нужно использовать:

  • Только если не смущает если значения куки будут перезаписаны. У пользователя есть полный доступ к их изменению, значит там может быть вовсе не число, а вообще что угодно. Все значения из обычных куки нужно проверять как если это сам пользователь что-то указал в форме.
  • Если хочется не хранить ничего в БД отдельно: данные сохраняются в обычных куках напрямую.
  • Если нужен доступ к данным из браузерных скриптов. Данные сессии им не видны и недоступны.
READ ALSO
foreach и запросы к базе(совсем новичок)

foreach и запросы к базе(совсем новичок)

Пытаюсь сделать выгрузку товаров из корзины магазина с помощью PHPExcel

132
Для чего нужны template template parameters?

Для чего нужны template template parameters?

Для чего нужны template template parameters в шаблонных классах и функциях, ведь можно передавать им аргументы, которые являются шаблонами, с помощью обычных...

152
Как настроить виджеты объекта класса

Как настроить виджеты объекта класса

У меня есть класс, у него два объекта: window2, window3Как настроить виджеты (установить параметры кнопок, например) именно в window3 не зависимо от window2?

150