Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为每位访客分配唯一ID的最准确方法是什么?_Php_Mysql - Fatal编程技术网

Php 为每位访客分配唯一ID的最准确方法是什么?

Php 为每位访客分配唯一ID的最准确方法是什么?,php,mysql,Php,Mysql,我正在寻找一个准确的方式来分配一个ID给每个访问者到我的网站。如果他们返回,他们必须保持相同的ID。我当前的方法是有很多未命中的错误,并为返回的访问者分配新的ID。。显然,这可能会随着设备、IP等的变化而变化 目前,当我的网站获得新的访问者时,它将在数据库中记录他们的IP,ID将成为他们的ID。。当他们返回时,我们进行查找以查看他们的IP是否匹配,显然这是不可靠的。它可能很容易返回多个IP,如果是,我们将查找IP和用户代理 我们总共进行3项检查: $_SERVER['REMOTE_ADDR']

我正在寻找一个准确的方式来分配一个ID给每个访问者到我的网站。如果他们返回,他们必须保持相同的ID。我当前的方法是有很多未命中的错误,并为返回的访问者分配新的ID。。显然,这可能会随着设备、IP等的变化而变化

目前,当我的网站获得新的访问者时,它将在数据库中记录他们的IP,ID将成为他们的ID。。当他们返回时,我们进行查找以查看他们的IP是否匹配,显然这是不可靠的。它可能很容易返回多个IP,如果是,我们将查找IP和用户代理

我们总共进行3项检查:

$_SERVER['REMOTE_ADDR']
$_SERVER['HTTP_X_FORWARDED_FOR'];
$_SERVER['HTTP_USER_AGENT'];
如果我们找不到与所有3个匹配的条目,那么我们将其归类为新访问者


有没有更好的方法?

将cookie写入本地机器?cookie不仅是特定于机器的,而且是特定于浏览器的,我们90%的流量都是移动的,其中大部分是内置的Facebook浏览器,因此我认为通过cookie跟踪cookie是不可能的?除非我的想法和你不一样?把身份证放进饼干里。您自己的id格式不能是特定于浏览器的,跟踪它们的唯一方法是在浏览器中使用cookie或flash cookie或类似工具。广告网站等热衷于使用cookie、flashcookie、第三方图片和etag等。