У каждого пользователя только 1 идентификатор сессии? - PullRequest
0 голосов
/ 13 января 2019

Я все еще новичок в использовании сессий и файлов cookie, и я не понимаю этого, поэтому я хочу спросить:

1. У каждого пользователя есть только 1 идентификатор сессии?

2. Что такое идентификатор сессии?

Я пытался сохранить данные в сеансе, но когда я пытался сохранить другие данные, он имел тот же Session ID. Итак, как мне узнать, кому принадлежат эти данные?

На самом деле я хочу сделать корзину покупок в spa.backs.js, используя backend express. но я не знаю, как хранить эту корзину данных. пока что я сделал, я хочу сохранить корзину данных в сеансе, например product_id and product_variant, а затем вызвать этот product_id and product_variant в базе данных на основе этого Session ID.

Поправь меня, если я ошибаюсь. Спасибо

1 Ответ

0 голосов
/ 13 января 2019

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

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

Кроме того, единственное, что я должен упомянуть, это то, что вы не должны хранить личную информацию в данных сеанса. Например, не храните идентификатор своей учетной записи в переменных сеанса или их пароль / адрес электронной почты / имя пользователя / и т. Д. Можно изменить данные сеанса и получить доступ к другим учетным записям, если вы полагаетесь на сами данные сеанса, чтобы сообщить вам, кто является пользователем. Зашифрованные / рандомизированные идентификаторы сеанса могут быть настолько уникальными, что для пользователя почти невозможно разумно обмануть ваш сервер, думая, что это другая учетная запись. Вот почему мы храним их в базе данных с дополнительной информацией вместо установки других переменных сеанса.

Пример:

В PHP мы могли бы использовать session_id (), но также хранить такие вещи, как $ _SESSION ['setting'] или $ _SESSION ['theme_choice'] и другие тривиальные настройки, чтобы избежать необходимости искать его в базе данных на каждой странице. нагрузка.

...