2

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

上述两个中应该首选什么?如果通过会话处理,是否存在任何安全漏洞?

4

3 回答 3

2

在安全部门,两者中没有一个比另一个更受青睐。你应该明白,这两个概念基本上都是“会话”,但是一个在 appdomain 中处理,另一个在 DB-domain 中处理。

应用域会话:

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

数据库会话:

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

您应该考虑有多少用户将使用您的网站。如果您查看很多,您可能需要多个服务器,在这种情况下,数据库会话将是您的最佳选择,如果您将使用单个 Web 服务器/数据库服务器,那么 appdomain 会话就可以了。

于 2009-07-13T08:47:50.517 回答
0

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

如果您真的打算让用户的购物车是暂时的,那么显然您的 HttpSession 就足够了。扩展应用程序服务器通常具有会话复制功能来处理单个服务器故障。

从长远来看,我怀疑这种不稳定的购物车是否永远是你想要的,我发现在亚马逊上浏览并组装我的购物车非常方便,然后就放一会儿。由于将您的购物车保存在数据库中可能不是很多工作,我可能会这样做。

于 2009-07-13T08:22:46.540 回答
0

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

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

于 2009-07-13T08:43:51.973 回答