【发布时间】:2023-12-22 12:46:01
【问题描述】:
在 PHP 中生成用户唯一性“指纹”的最佳方法是什么?
例如:
- 我可以使用用户的 IP 地址 然而,作为“指纹”,那里 可能是同一 IP 上的多个其他用户
- 我可以 使用用户的 IP + 用户代理作为 但是,“指纹”是单个用户 可以简单地从 safari 切换到 Firefox 并再次被视为独一无二的
理想情况下,指纹标记为“机器”而不是浏览器或“IP”,但我想不出这是如何实现的。
对于您如何唯一地识别您的用户,以及您的方法有哪些优势/劣势,欢迎提出想法/建议。
【问题讨论】:
-
这个网站几乎涵盖了您可以用来通过浏览器区分个人的所有信息。 panopticlick.eff.orgJavaScript、Java 和 Flash 有很大帮助。
-
老问题,但是这个:
md5(implode('',$_SERVER)); -
@Shea 有用的评论,但指纹不会改变(比喻地说),并且 $_SERVER 中会出现与用户无关的变化us1.php.net/reserved.variables.server
-
@Shea 我不会按原样使用您建议的技巧,因为指纹会在访问的每个网页上发生变化。但也许可以改进。
-
@Calimero 是的,你是对的。这很有用,但您需要过滤掉某些键。
标签: php statistics user-agent identifier fingerprint