Постоянство данных сеанса электронной коммерции - PullRequest
0 голосов
/ 20 сентября 2011

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

Поток пользователей работает следующим образом:

корзина -> войти / зарегистрироваться -> выбрать адрес доставки -> подтвердить -> оплатить

Моя проблема однажды у пользователявошел в систему, я хочу отобразить список их адресов доставки, чтобы они могли выбрать один.Самый простой способ сделать это - запросить модель по идентификатору пользователя, но я беспокоюсь о безопасности - моей первой мыслью было сохранить идентификатор пользователя в сеансе, а затем использовать его для получения адресов.Однако ничто не может помешать другому пользователю потенциально угнать этот идентификатор (просто путем угадывания случайных чисел) и раскрыть адреса для других пользователей.Я мог бы использовать их адрес электронной почты, но об этом тоже можно было догадаться.Мой лучший выбор - использовать комбинацию из двух или есть лучший способ?

1 Ответ

0 голосов
/ 20 сентября 2011

PHP имеет встроенную возможность сеанса. Он загружает уникальный файл cookie в браузер и позволяет хранить все данные сеанса на стороне сервера через массив $_SESSION. Идентификатор cookie является уникальным для сеанса, а не для пользователя, поэтому он изменяется каждый раз, когда пользователь входит в систему (если срок действия cookie истек). Если вы проводите сеанс в https, это очень безопасно. Без https сеанс является уязвимым для кого-то, обладающего (специальными) знаниями и склонностью к перехвату данных cookie, хотя такой перехват не является легким. В зависимости от того, насколько безопасным является , работа без https может быть или не быть приемлемой для вас.

Подробнее о возможностях PHP-сессии вы можете прочитать здесь:

http://php.net/manual/en/features.sessions.php

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