2011-02-19 113 views
4

有没有办法'抢'一些个性化的ID,INFO,NAME,NUMBER,DATA等?如何唯一标识一台计算机?

任何东西只是为了区分和识别同一IP上的两台或多台PC:除了$_SESSION之外的用户的计算机名称?

这些都不工作:

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']); 
php_uname('n'); 
php_uname(); 
+1

原则上,这似乎是类似的问题:[唯一标识一台计算机(标记为'php')](http://stackoverflow.com/questions/1331046/uniquely-identify-one-computer),但不是一个确切的副本。 – 2011-02-19 00:48:34

回答

10

好了,你就不能仅从HTTP请求做到这一点,但你必须在您的处置以下技术:

  1. 远程地址
  2. 饼干/会话
  3. 用户代理
  4. 客户端的Web技术(如Java或Flash或Silverlight对象)

基本上,你可以使用概念s的Evercookie来识别客户。这就是说,为什么不使用登录系统?

8

(至少在没有用户的明确的合作。)

+1

我想过回答,但我无法让自己这样做。 +1让球说'不'。 =) – 2011-02-19 00:51:05

+0

@David @Oli :)我意识到这一点,但我希望...我会尝试创建一个带有某种生成的ID('时间'或某种)的jQuery cookie,并将它传递给一个php字符串,结合用户IP,例如:`$ userId = md5(getenv(REMOTE_ADDR)。''。$ cookieTime);`并将其存储在服务器上的临时文件中。 :|这可以吗? :) – 2011-02-19 14:29:49

2

有大量的信息,可以被用来创建一个浏览器'指纹',但没有保证是唯一的。你可以找到各种数据点的列表at the Panopticlick site

相关问题