【问题标题】:Store Cookie And Read Another Time存储 Cookie 并再次阅读
【发布时间】:2013-08-26 09:00:00
【问题描述】:

我有一个网站,其中双重帐户是一个大问题。我们进行 IP 地址检查,但这并不总是有效。我只是想在客户端计算机上使用他们登录的帐户的唯一用户 ID 设置一个 cookie。然后在他们每次登录时读取 cookie,看看他们登录的是同一个帐户还是另一个帐户。我知道他们可以清除他们的 cookie,但这将有助于吸引更多用户。这可能吗?如果有,怎么做?

我们使用 PHP 和一个 MySql 数据库。目前,我们在用户登录时记录用户的 IP 地址。我们有一些 cron 作业运行并检查匹配的 Ips,然后存储具有相同 Ip 地址的用户的所有用户 ID。这就是我们标记双重帐户的方式。

我们想添加一个函数,如果设置了,它会在登录时尝试读取 cookie。获取用户 ID(唯一 int)并将其与正在登录的用户进行比较。如果用户 id 与正在登录的帐户的用户 id 不匹配,我们就知道该用户有一个双重帐户。

【问题讨论】:

  • 以前好像有人问过这个问题?
  • 这是可能的,但是如何做取决于你如何实现用户登录。你能提供更多信息吗?
  • 添加了更多信息,不确定您在寻找什么。

标签: php cookies identification


【解决方案1】:

这可能吗?如果有,怎么做?

是的,这是可能的。您可以将 cookie 过期日期延长至一个月,并保留之前的用户 ID。

如果用户 id 与正在登录的帐户的用户 id 不匹配,我们就知道该用户有一个双重帐户。

我认为您的重复帐户捕获方法不是一个好方法。如果有两个帐户共享同一台计算机怎么办(这种情况并不少见)。您的方法也会将其视为重复帐户。


实现示例

登录部分

if (isset($_COOKIE['prev_id'])) {
   if ($_COOKIE['prev_id'] != $current_id) {
       // possible duplicated account
   }
} else {
   // expire in one month
   setcookie('prev_id', $current_id, time() + 2592000);
}

【讨论】:

  • Cookie 是否具有特定的网站识别属性,可以防止其他网站使用“prev_id”cookie?
  • 其他网站不能弄乱你的cookie,但用户可以提供一个虚假的cookie,因为cookie存储在客户端。
猜你喜欢
  • 1970-01-01
  • 2015-03-02
  • 2023-03-18
  • 1970-01-01
  • 2015-09-13
  • 2020-04-02
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
相关资源
最近更新 更多