如何为每位新访客创建唯一ID?

use*_*813 1 php scripting uuid

我的问题是如何为访问我网站的每个唯一访问者创建一个唯一的ID(将在URL的末尾,例如http://example.com/?id=12345).我也想知道如何跟踪访问者的IP地址,以便他们只收到一个id/link.换句话说,如何制作一个脚本,为每个IP地址生成一个唯一的ID.简而言之,我想要一个为每个新访客生成唯一ID的脚本.例如:访问者1的id = http://example.com/?id = 12345,访问者2的id = http://example.com/?id = 77369,依此类推.谢谢.

Dou*_* T. 6

最简单的事情可能就是使用session_startsession_id.

 session_start();
 $id = session_id();
Run Code Online (Sandbox Code Playgroud)

然后,您可以保存$ id并将其与数据库中的任何内容相关联.

另外,只需以微秒为单位保存非常准确的时间戳

$id = microtime();
Run Code Online (Sandbox Code Playgroud)

或者在每个用户的数据库中创建一行并使用该行的主键.


Chu*_*ess 5

所有的答案都可以简单地合并。但是,您可能没有想到的是,当多个用户共享一个 IP 时会发生什么。例如,Google 的所有员工或 AOL 或 Juno 的所有用户都可能使用 100 个 ips。如果每 10 到 25 天为他们提供新 IP 会怎样。

数据背后的想法是有意义的。您的数据将如何有意义?某一天,IP 可能是来自纽约州北部的一个 12 岁的孩子,下一个来自新泽西州哈肯萨克的 40 岁的女性。除了使代码复杂化之外,实现这样的系统对您有什么好处?

我的建议:重新审视你的要求。你真正想要完成什么?实施一个简单的 cookie 来跟踪唯一身份访问者可能会更好。它仍然不会是 100% 准确的(从网吧访问的人都付费使用同一台计算机呢?)。但这会使代码变得不那么复杂,而不必为每个 url 附加所有额外的参数。

简而言之,确保每个访问者拥有唯一 ID 的唯一方法是要求他们登录。当然,他们可能会使用不同的电子邮件地址设置多个帐户,但至少可以保证不会有两个单独的人获得相同的 ID。