gpt4 book ai didi

php - 如何检测用户的设备?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:00 25 4
gpt4 key购买 nike

我正在尝试创建一个让用户保持登录状态的系统(比如记住我已选中)。好的,我有一张这样的 table :

// cookies
+---------+-------------------------+------------------+------------+------------+
| id | email | cookie | date_time | device |
+---------+-------------------------+------------------+------------+------------+
| int(11) | varchar(50) | varchar(128) | int(11) | |
+---------+-------------------------+------------------+------------+------------+
| 1 | jack_2009@gmail.com | ojer0f934mf2... | 1467204523 | |
| 2 | peter.zm@yahoo.com | ko4398f43043... | 1467205521 | |
| 3 | matrix_john23@gmail.com | 34fjkg3j438t... | 1467205601 | |
| 4 | peter.zm@yahoo.com | 0243hfd348i4... | 1467206039 | |
+---------+-------------------------+------------------+------------+------------+

如您所见,此用户 peter.zm@yahoo.com 已通过两个不同的设备登录:

| 2       | peter.zm@yahoo.com      | ko4398f43043...  | 1467205521 |            |
| 4 | peter.zm@yahoo.com | 0243hfd348i4... | 1467206039 | |

因此 email 列不是唯一的,每个设备都有自己的行。

我的问题:如何填写 device 列?


为什么我需要确定设备?因为当用户删除浏览器的 cookie 时,我的网站会将他识别为新用户,并在上面的表格中为他创建一个新行。所以过一段时间,表中就会出现一些多余的行。

例如:假设 peter 只有两台设备(笔记本电脑、手机)。他在上面的表格中有两行。好的,他删除了浏览器的 cookie 并登录。发生了什么?我的网站在上面的表格中创建了一个新行。现在 peter 在上面的表中有 3 行 (而他只有两个设备)。所以这三行中的一排肯定是多余的。这就是为什么我需要检测设备以删除冗余行。

最佳答案

User Agent 怎么样?他们上次与您的应用程序交互的字符串?

作为一项额外的纵深防御安全措施,您还可以验证用户代理是否与他们之前为此设备使用的用户代理相匹配,以减轻 session 劫持。请注意,任何浏览器或操作系统升级都会使该设备上的“记住我”失效。

附带说明一下,您最好输入唯一 ID 而不是电子邮件地址,因为这样在您将来需要更新用户电子邮件时会容易得多。

关于php - 如何检测用户的设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38100517/

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