Зарегистрированы ли такие сайты, как магазин Facebook, в файлах cookie или сеансах? - PullRequest
8 голосов
/ 18 декабря 2011

Зарегистрированы ли такие сайты, как магазин Facebook, в файлах cookie (на стороне клиента) или в сеансах (на стороне сервера)? Мои тесты показывают, что они делают первый.

Ответы [ 5 ]

12 голосов
/ 18 декабря 2011

Как правило, конфиденциальная информация, например, какой пользователь в данный момент вошел в систему , должна храниться на стороне сервера - помните, что файлы cookie могут свободно считываться и изменяться пользователем.

Вероятно, вы видите файл cookie сеанса, который связывает определенного клиента с конкретным сеансом на сервере, то есть сервер знает, какой сеанс использовать для вас. В этом случае единственное, что содержит cookie, - это длинный случайный идентификатор сеанса - он длинный и случайный, поэтому злоумышленник не может легко угадать его.

Кража сеансового cookie другого пользователя называется захватом сеанса .

Дополнительная информация:

4 голосов
/ 23 февраля 2015

Я думаю, что идея $_sessions в том, что сервер гораздо быстрее и эффективнее обрабатывает свою собственную информацию, чем получает объемную информацию от клиента.

Посмотрите на это так:

Вы (сервер) и друг (клиент) сплетничаете о вашей другой подруге Синди, рассказывает ли вам ваш друг все подробности о ней (цвет волос, рост и т. Д ...)?Нет, это было бы пустой тратой времени.Вам гораздо быстрее обрабатывать информацию, которую вы уже знаете о Синди (в файле $_session на стороне сервера), и получать уникальную информацию ($_cookies) только от своего друга (клиента).

Эффективный: «Эй, ты слышал, что Синди сделала прошлой ночью?»

НЕ эффективен: «Эй, ты слышал, что Синди с каштановыми волосами, голубыми глазами, среднего телосложения и т. Д. ... прошлой ночью?»

Очевидно, что это не полностью суммирует $_sessions и $_cookies, но, возможно, это поможет кому-то понять эффективное краткосрочное управление данными.

3 голосов
/ 18 декабря 2011

Они используют сеансы на стороне сервера вместе с файлом cookie.

Файл cookie содержит идентификатор, этот идентификатор отправляется в FaceBook, и сервер проверяет детали сеанса с этим идентификатором.

0 голосов
/ 26 мая 2018

Я думаю, что хранилища данных на сервере. Если вы хотите хранить пользовательские данные постоянно, вам необходимо записать их в хранилище данных на стороне сервера (например, в реляционную базу данных, хранилище значений ключей NoSQL и т. Д.). Ключом поиска обычно является либо идентификатор куки, либо идентификатор входа. Чтобы ускорить поиск, вы можете поместить перед ним слой кэширования (например, Memcache, Redis). Преимущество заключается в том, что вы можете хранить произвольно большой / сложный набор данных для каждого пользователя.

Источник

0 голосов
/ 21 июня 2015

Они, вероятно, используют сеансы, а затем сохраняют некоторую информацию в cookie-файлах, например, user_id регистрируется с помощью session_id = ... /, а затем регистрируется в сеансе для этого session_id, чтобы увидеть, вошел ли пользователь в систему. Я думаю, что это пустая трата ресурсов. По моему мнению, я храню важную информацию в сеансах, а большую информацию - в куки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...