2009-07-13 2 views
2

Я хочу интегрировать корзину на моем сайте. Тележка должна быть такой, что она сбрасывается после того, как пользователь выберет приложение. Это может быть достигнуто посредством сеансов или с использованием таблиц базы данных.Реализация корзины

Что должно быть предпочтительным из двух вышеуказанных? Существуют ли какие-либо дыры в петле безопасности, если это выполняется через сеансы?

+0

Сессии довольно безопасны, но не настолько масштабируемы, как информация, поддерживаемая базой данных в базе данных. Поддержка базы данных вряд ли будет такой же высокой, как в состоянии сеанса процесса. Сколько пользователей вы создаете для своего приложения? Вам, вероятно, нужна веб-ферма? –

+0

Можете ли вы определить «выходы», означает ли это, закрывает браузер или фактически нажимает кнопку выхода из системы, если последнее, что это означает, если пользователь не вошел в систему, может ли он добавить материал в корзину, если не Вход в систему? –

ответ

0

Я не понимаю, почему HttpSessions увеличивает вашу безопасность - если ваш сеанс захвачен, то, предположительно, ваш доступ к БД.

Если вы действительно намереваетесь, чтобы тележка вашего пользователя была преходящей, тогда, очевидно, достаточно вашего HttpSession. Масштабирование серверов приложений обычно имеет возможности репликации сеанса для устранения отдельных сбоев сервера.

В долгосрочной перспективе я скептически отношусь к тому, что такая неустойчивая тележка всегда будет тем, что вы хотите, мне очень удобно просматривать Amazon и собирать мою тележку, а затем просто оставить ее на время. Поскольку, вероятно, не намного больше работы по сохранению вашей корзины в БД, я бы, вероятно, пошел на это.

0

Я бы использовал сеансы - не нужно забивать вашу БД данными, которые будут уничтожены при выходе из системы.

Плюс, сеансы вполне безопасны в использовании.

2

В отделе безопасности ни один из них не является предпочтительным по сравнению с другим. Вы должны понимать, что обе концепции в основном являются «сеансами», но один обрабатывается в appdomain, другой обрабатывается в DB-домене.

AppDomain сессии:

  • Faster (Нет кругооборот в базу данных)
  • Не масштабируемый
  • Склонный к проблемам параллелизма на фермах серверов
  • Сессии будут потеряны при перезагрузке сервера

Сводка базы данных:

  • Медленнее (туда и обратно к БД для каждого запроса)
  • Легче масштабироваться на serverfarms
  • Сессии будет оставаться открытой на сервере перезапускает

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

Смежные вопросы