是否可以从移动设备获取唯一的标识号?

问题描述 投票:26回答:5

我目前正在研究移动设备Web应用程序,我想知道每个设备是否有某种可以通过浏览器检测到的唯一ID号。

目的是存储此号码,以便识别已访问过该站点的人员。

我正在使用蓝牙很多,当你检测到一个设备时,你可以存储某种mac地址,而我正在使用它作为Id编号,所以这是我的问题,是否有我可以从中检测到的一般ID号浏览器...?

谢谢。

browser mobile uniqueidentifier
5个回答
30
投票

经过进一步研究,答案是:不,现在不可能从浏览器中获取移动设备ID号...

我找到的解决方案是生成一个“唯一”数字(在我的情况下,我使用php,所以我使用了session_id()编号与rand()函数生成的数字混合,它最终是一个相当大的数字,几乎不会发生两次...)然后将其存储在一个永不过期的cookie中。

这不是一个完美的解决方案,因为如果禁用cookie或者用户清除他的cookie它将无法工作,但实际上现在有时使用它后,事实证明它工作得很好,移动设备大多数都启用了cookie,并且用户似乎并不经常清除它们......

另外(根据您的应用程序)如果您存储电子邮件或用户名然后将其与此“唯一”号码关联到数据库中,您甚至可以通过再次询问他的用户名或电子邮件来恢复某人的身份并存储新的cookie。 。

希望这会对一些人有所帮助!


4
投票

Sam Greenhalgh刚刚找到了通过“Super Cookie”设置设备ID的方法:

http://www.radicalresearch.co.uk/lab/hstssupercookies (断链)


2
投票

我知道这已经过时了 - 但是我发现了这一点,并希望使用GUID类型数字分享我对OP的下一个最好的事情。

除非你需要一个巨大的不可猜测的标识符的安全性 - 服务器创建一个简单的计数器更有意义 - 例如从~100开始,并且对于每个尚未使用你的cookie的访问者使用max(计数器)+ 1创建他们的新cookie。

现在,您可以为客户端和服务器存储一个非常短且100%的唯一标识符。

此外,正如您所提到的,存储电子邮件地址也很有用,理论上电子邮件地址应该是唯一的 - 不仅如此 - 它是跨浏览器兼容的。即他们的cookie存在于一个浏览器上 - 但是当他们进入新的浏览器时,如果他们输入相同的电子邮件地址,您可以映射到他们的原始连接配置文件。

虽然你提到这一点及其真实性,但同样重要的是要注意任何人放入狡猾的数据,例如: [email protected]可能会加载其他用户历史记录。即在您的情况下 - 放入[email protected]的全新用户将无法查看介绍页面。


0
投票

在某些国家/地区,当消费者浏览WAP网关时,运营商会在http标头中包含一些ID。有一些用于消费者识别的聚合器,通常只有当消费者浏览WAP网关时它才有效。


0
投票

我正在做一些类似的事情,但是对于本地存储中放置id的HTML本地页面并最终更新到服务器: - 在epoch ms中取日期 - 然后用随机数替换前导号码(愚蠢的希望限制大小数字)不知何故,我认为移动更有可能准时。

© www.soinside.com 2019 - 2024. All rights reserved.