我想为每个网站用户生成唯一编号。 如何使用JavaScript实现这样的目标?
P.S:我也希望这个唯一的号码有关于用户的信息,例如IP或连接IP的东西。 我可以使用JavaScript获得用户IP吗?如何?
答案 0 :(得分:2)
为每个网站用户生成有保证的唯一编号不能完全在浏览器中完成。保证每个站点用户唯一号码的唯一方法是在服务器上生成唯一号码并将其提供给浏览器(在原始页面中或通过ajax调用或通过post / get)。
如果您希望统计上不太可能是100%保证的相同数字,那么您可以使用时间数加上随机数或非常非常长的随机数,并且在统计上不太可能是相同的数字,但不是100%保证是唯一的数字。
我没有办法知道从纯客户端javascript获取IP地址而不询问服务器,即使你可以,因为代理,NAT,防火墙等...... IP号码是对于给定的用户,也不保证是唯一的或恒定的。例如,我家中的所有用户都共享相同的传出IP地址。
答案 1 :(得分:1)
您可以为每个用户生成GUID / UUID - 重复的“机会”很小,但不能保证“每个”用户都是唯一的,但它应该可以正常工作。还有其他JS随机数算法使这个微小的更好......
答案 2 :(得分:0)
要使用Javascript评估IP远程地址,请转到:
http://nanoagent.blogspot.com/2006/09/how-to-find-evaluate-remoteaddrclients.html来检索ip。
最好的方法是使用PHP脚本生成数字,并在服务器端使用随机数保存信息。
如果用户自己可以读取有关IP的信息,只需将其存储在cookie中即可。但是,我不明白为什么有人会这样做..