通常,当我开发与客户交互的网站时,我曾经使用他们的用户名或用户 ID 来保存他们的配置等。但是现在我正在开发一个没有登录系统的网站,我需要保存一些东西,比如“喜欢”、“访问的页面”等等。
我尝试过互联网协议(protocol) (IP),但当访问者处于 NAT 或代理下时它不起作用。
我如何为每个用户创建一个唯一的 ID 并将其保存在我的数据库中?
顺便说一句,我正在使用 PHP。
最佳答案
如果您试图长期保存用户数据,这听起来像是一场灾难。
我会推荐:
- 创建一个随机但唯一的散列并将其保存到数据库中。
- 将哈希设置为用户计算机上的 cookie。
- 保存所有“喜欢”、“访问过的页面”等。到以散列为键的数据库。
当用户清除他们的浏览历史记录/cookie 时,问题就出现了,现在没有办法检索该用户的事件,因为它全部基于该哈希。
我想一个解决方法是向用户发送一封电子邮件,其中包含他们的哈希值,并指导他们如何重新初始化他们的事件历史记录。
您必须创建一个特殊页面,他们可以在其中输入他们的哈希值,您的系统将重置他们系统上的 cookie。
关于php - 如何为没有用户名的用户创建唯一 ID - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10159593/