代码之家  ›  专栏  ›  技术社区  ›  nebkat

PHP唯一计算机ID

  •  4
  • nebkat  · 技术社区  · 14 年前

    PHP(或者最坏情况下的javascript)是否可以为不依赖cookie或IP的用户创建唯一的ID。我见过 myminicity.com 在每个城市,计数每天只增加一次(它为我想的每个人都有一个唯一的ID),即使我删除了我的cookies并刷新了IP,它仍然会检测到我已经访问过,我想为我创建这个系统。我见过很多人说这是不可能的,如果真的不可能,最好的选择是什么?

    编辑

    现在我想到我可以混合使用多个cookie(具有多种标识方法)、多个本地存储值(与cookie相同)、mysql数据库IP跟踪和flash cookie,如果找到其中任何一个cookie,用户在今天之前已经访问过。

    4 回复  |  直到 8 年前
        1
  •  5
  •   Gumbo    14 年前

    用户代理向服务器发送了几个信息。参见例如 Panopticlick 看看你的浏览器有多独特。另一个选择是使用 Flash cookies 更难拒绝和删除。

        2
  •  1
  •   Donnie    14 年前

    您可以为每台计算机生成一个guid,假设您可以找到某种方法来存储它,这样用户就不能删除它(祝您好运)。

    大多数这样做的站点将IP地址存储在服务器上的数据库中,并以此方式标识“用户”。使用javascript,您可以将IP地址和MAC地址结合起来,以允许一个NAT网关后面有多个人。

        3
  •  1
  •   Elf King    14 年前

    myminicity.com使用您的IP范围检测您来自哪个区域…它被称为IP基础地理定位。有免费和付费的服务。谷歌“基于IP的地理定位”…您可以在 http://en.wikipedia.org/wiki/Geolocation_software

        4
  •  0
  •   Dan Bray    8 年前

    一些 $_SERVER 变量可用于生成计算机ID。例如:

    $id = $_SERVER['HTTP_USER_AGENT'].$_SERVER['LOCAL_ADDR'].$_SERVER['LOCAL_PORT'].$_SERVER['REMOTE_ADDR'];
    

    价值观 $服务器 可以伪造,但它仍然会添加一个额外的安全层,不依赖cookie或您的IP地址。