gpt4 book ai didi

php - 使用 PHP 和 UUID 跟踪动态网页状态

转载 作者:行者123 更新时间:2023-11-29 00:48:03 31 4
gpt4 key购买 nike

我正在从头开始构建电子商务,用户可以在不登录的情况下执行许多操作(将商品添加到购物车、创建自己的定制产品)。为了解决这个问题,我生成了一个包含 UUID 的 cookie,将 UUID 存储在 MySQL 表“Users”中,并将所有信息关联到该 UUID。当用户最终注册一个帐户时,我将昵称、哈希、盐和电子邮件存储在与原始 UUID 相关联的“Registered_Users”表中(我什至可以使用带有 NULL 字段的单个表,但这不是重点) ,如果在未注册时不检索有关用户的信息,那将变得毫无用处。

如果用户删除了 cookie 怎么办? UUID 是这项任务的好选择吗?

请注意,整个电子商务都将支持 SSL。

最佳答案

我觉得你选择的系统不错。关于您的问题“如果用户删除 cookie 会怎样”,它有两个后果。

首先,用户丢失了他的购物车和个别产品。但这是某种预期的行为,所以我不会担心。如果您真的担心用户在未注册时不应该丢失所有有值(value)的数据,请考虑其他存储您的 UUID 的方法,例如 localStorage 或 Flash cookie。有关所有可能性的列表(其中许多不适合您的应用),请参阅 http://samy.pl/evercookie/

其次,带有 UUID 和其他数据的数据库表会随着时间的推移而增长。因此,您有时需要删除用户未注册帐户的旧条目。您的两个表使识别未注册的用户变得相对简单。以下是如何使用 SQL 清理旧条目:

DELETE FROM Users WHERE date_created < '2012-01-01' AND 
UUID NOT IN (SELECT UUID FROM Registered_Users);

我在这里选择了一个固定日期以避免DATEDIFF函数。
在删除用户之前,您可能需要先删除其他数据。

看看this article从数据库和性能的角度来看,如果 UUID 是一个不错的选择,请形成您自己的意见。也许只使用来自 Users 的自动增量主键就足够了。

关于php - 使用 PHP 和 UUID 跟踪动态网页状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9716657/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com