在PHP中获取唯一的Web浏览器ID

时间:2014-07-01 11:28:36

标签: php google-chrome firefox safari browser

我正在寻找在PHP中存储网络浏览器唯一ID的方法吗?我到处搜索......但是找不到任何有用的东西。首先,Web浏览器是否具有唯一的ID或类似的东西来识别它们?就像计算机有一个唯一的IP地址一样,浏览器是否有类似的东西?我正在尝试这样,以便我可以将用户详细信息存储到我的数据库中。因此,我们可以找到用户使用哪个浏览器访问我的PHP网站。我可以将这样的ID存储到php变量吗?

例如,网络浏览器的$x= ID

2 个答案:

答案 0 :(得分:3)

当用户访问您的网站时,您会知道他的IP,浏览器,操作系统和其他内容。您需要知道下次同一用户访问您(相同的IP,可能是相同的登录)是否使用相同的浏览器。这可以通过两种方式实现:

a)创建一个cookie,将其存储在浏览器和数据库中,然后将具有该cookie的每个访问者与您现有的cookie表进行比较以识别他。如果cookie具有非常长的到期时间,则它不会在会话中丢失,并且对于每个浏览器都是唯一的。但如果用户清除cookie,它将会丢失。

b)将字符串存储在浏览器的本地存储中。这与cookie方法的工作原理基本相同,但数据没有截止日期,删除它比清除cookie更加容易。

还有其他方法,例如组合不同类型的cookie以提供冗余。我记得a project called Evercookie做过类似的事情。我相信它现在已经被抛弃了。

答案 1 :(得分:0)

您可以使用browscap库,然后制作浏览器信息的md5:

使用GaretJax/phpbrowscap

$bc = new \phpbrowscap\Browscap('data/');
$current_browser = $bc->getBrowser(null,true);
$str = json_encode($current_browser);
$browser_id = md5($str);