电子商务购物车 - 可以使用用户的ip代替基于cookie的id



我正在开发一个电子商务网站。用户需要能够在登录之前将产品添加到购物车,即只有在结帐时才应要求用户登录。

-

->我知道这可以通过设置会话 ID 并将其用于数据库中的购物车表来完成。

我的问题是:

  • 我们可以不使用cookie变量,而不是使用用户的IP?该 IP 将在购物车表中使用。购物车清理政策等。将与第一种情况相同。

  • 如果是,例如共享计算机可能面临的挑战是什么。如果没有,为什么?

  • 我提到的第一种方法(使用cookie),亚马逊等电子商务网站如何管理其购物车是否用于用户登录?

IP不是一个有用的标识符,办公室里的许多人会共享它,在移动网络上,通常有数千部手机都映射到同一个IP。即使是单个用户,当他们切换无线网络但继续使用您的网站时,也可能会在许多不同的 IP 之间被反弹。

处理共享计算机时,您不能太担心。将您的 cookie 设置为在合理的时间(可能只是几个小时)后过期,以避免在浏览器中永久留下足迹。如果人们真的担心,他们可以随时使用隐私浏览。

如果您想知道亚马逊是如何做这种事情的,请打开检查器并观察网络流量,查看分配了哪些cookie以及它们保留了多长时间。

因此,简短的回答是使用会话并找出您希望它持续多长时间的时间限制。如果未登录,我通常将其设置为 48 小时,如果登录则设置为 2 周,但这实际上取决于您的市场。

我强烈建议您评估现成的商务软件包,例如 Magento for PHP 或 Spree for Ruby,然后再从头开始编写自己的电子商务平台。这通常比您一开始预期的要大得多,并且在处理金钱时存在无数的安全问题。

好吧,

您已经说过了,但是您可以创建一个可用于识别客户的随机"令牌"。有几种方法可以使用该令牌"维护状态",最常见的是使用 cookie。否则,在您的网站链接中,您必须附加令牌。但是 - 在结帐过程中,您不需要链接,您可以使用表单按钮完成所有操作,特别是因为您需要填写账单、运输等表格。

因此,对于结帐过程,请考虑在隐藏的表单字段中传递令牌,然后避免使用cookie执行最重要的步骤。您还可以在订单记录表中使用该令牌来关联购物车物料。令牌必须具有随机字符串,但它也可以包含有用的数据,如日期和时间。

最新更新