购物车实施

时间:2009-07-13 08:14:08

标签: ruby-on-rails session shopping-cart

我想在我的网站中集成购物车。购物车应该是这样的,一旦用户退出应用程序,它就会重置。这可以通过会话或使用数据库表来实现。

上述两项应该优先考虑什么?如果通过会话处理,是否存在任何安全循环漏洞?

3 个答案:

答案 0 :(得分:2)

在安全部门,两者都不会优先于另一个。您应该理解这两个概念基本上都是“会话”,但是一个在appdomain中处理,另一个在DB域中处理。

Appdomain会话:

  • 更快(没有往返数据库)
  • 不可扩展
  • 容易出现服务器场上的并发问题
  • 服务器重启时会丢失会话

数据库会话:

  • 较慢(每次请求往返数据库)
  • 更容易在serverfarms上扩展
  • 会话将在服务器重启时保持打开状态

您应该考虑有多少用户将使用您的网站。如果你正在寻找很多,你可能需要多个服务器,在这种情况下数据库会话将是你最好的选择,如果你将留在一个网络服务器/数据库服务器,那么appdomain会话将会很好。

答案 1 :(得分:0)

我不明白为什么HttpSessions会增加您的安全风险 - 如果您的会话被劫持,那么您的数据库访问可能也是如此。

如果你真的打算用户的购物车应该是短暂的,那么显然你的HttpSession就足够了。扩展应用服务器通常具有会话复制功能,以处理各个服务器故障。

从长远来看,我很怀疑这种易变的推车永远都是你想要的,我觉得浏览亚马逊并组装我的购物车非常方便,然后暂时离开。因为在数据库中持有你的购物车可能不是很多工作,我可能会这样做。

答案 2 :(得分:0)

我会使用Sessions - 没有必要将数据库堵塞在注销时会被破坏的数据。

另外,会话使用起来非常安全。