gpt4 book ai didi

php - 在 PHP 中创建唯一用户指纹的方法

转载 作者:IT王子 更新时间:2023-10-28 23:50:07 26 4
gpt4 key购买 nike

在 PHP 中生成用户唯一性“指纹”的最佳方法是什么?

例如:

  1. 我可以使用用户的 IP 地址然而,作为“指纹”可以是同一 IP 上的多个其他用户
  2. 我可以使用用户的 IP + 用户代理作为然而,“指纹”是单个用户可以简单地从 safari 切换到firefox,再次被视为独一无二

理想情况下,指纹标记为“机器”而不是浏览器或“ip”,但我想不出这是如何实现的。

对您如何唯一地识别您的用户以及您的方法有哪些优点/缺点的想法/建议持开放态度。

最佳答案

最简单最好的方法:使用 phps session-management - 每个客户端都有一个 ID,存储在 cookie 中(如果启用)或作为每个链接和表单上的 get-variable(或者您可以自己设置 cookie)。但是,这只会在浏览器上留下“指纹”——如果用户更改了他的浏览器、删除了他的 cookie 或其他任何东西,您将无法再识别它。

通过 IP 地址识别每个客户端通常不是一个好主意,也行不通。使用同一路由器的客户端将具有相同的 IP 地址 - 通过代理池连接的客户端在每次加载页面时可能具有另一个 IP 地址。

如果您需要一个无法由客户端轻松操作的解决方案,请尝试组合执行以下操作,使用客户端浏览器支持的所有内容,并在每次页面加载时比较它们:

  • “普通”HTTP Cookie
  • 本地共享对象(Flash Cookie)
  • 使用 HTML5 Canvas 标签将 cookie 存储在自动生成、强制缓存的 PNG 的 RGB 值中以读取像素(cookie)返回
  • 在网络历史记录中存储 cookie 并读取它
  • 在 HTTP ETag 中存储 cookie
  • Internet Explorer 用户数据存储
  • HTML5 session 存储
  • HTML5 本地存储
  • HTML5 全局存储
  • 通过 SQLite 的 HTML5 数据库存储

有一个名为 evercookie 的解决方案实现了所有这些。

关于php - 在 PHP 中创建唯一用户指纹的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4085230/

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