【问题标题】:Suggestion for shopping cart update购物车更新建议
【发布时间】:2011-10-29 11:38:56
【问题描述】:

我正在为我的兄弟在网上商店购物。当他将商品添加到购物篮时,我陷入了买家购物车更新的过程中。我想知道如何记住买家(因为我的兄弟希望用户无需登录即可购买,所以没有用户 ID 等情况)?我应该为他创建一个会话并将其保存到数据库吗?

【问题讨论】:

  • 我并不反对“自己动手”,只是想知道您是否考虑过使用可用于 PHP 的数十种开源电子商务应用程序中的任何一种?
  • 其实我正在使用一个MVC框架,我想创建自己的CMS,以便我更容易控制!
  • 如果您使用的是 MVC,请搜索他们的文档,因为 Sessions 是框架中非常常见的组件。使用它们提供的内置会话处理程序可能会比原生 PHP 会话的基本实现更安全(也更容易)。

标签: php security session shopping-cart


【解决方案1】:

标准方式确实是使用会话,SamT 提供的链接就足够了。但不需要将其存储到数据库中(目前)。

【讨论】:

    【解决方案2】:

    是的,您必须创建一个会话以在点击之间记住它们,否则您将不得不在 GET 参数中添加某种 id。

    看看session_start() 和他们给你的例子:http://php.net/manual/en/function.session-start.php

    小警告,原生 PHP 会话存在会话修复漏洞,这很容易被会话劫持(他们需要会话 ID,但之后,他们可以修复会话)。最好创建一个包装器,并通过将存储在$_SESSION 中的先前点击的 IP 和用户代理与当前 IP 和用户进行比较,确保用户是他们所说的(通过会话 ID)他们介绍的代理。

    我个人建议将session.use_only_cookies 设置为1,以防止信息通过在GET 中传递的会话ID 泄漏。

    【讨论】:

    • 据我记得,通过在启动新会话之前清除会话相对容易地防止会话固定。它不应该阻止您使用会话。
    • 感谢您的建议 samT 。但我没有得到你在安全问题上的观点。你能解释一下吗?或者任何参考资料都会对我有所帮助。谢谢
    • @Suraj Hazarika:这个解释得不错:phpsec.org/projects/guide/4.html
    猜你喜欢
    • 2014-08-29
    • 2011-05-19
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2018-12-28
    • 2011-01-29
    相关资源
    最近更新 更多