现在在浏览器上编写 js 代码能获得设备信息唯一码吗?

2019-11-22 09:12:28 +08:00
 tctc4869

如题,做 web 应用,要获得手机或电脑的信息唯一码。用来鉴别用户。浏览器由于安全权限问题,连客户端本地文件读写都不行,那有没有办法获得设备唯一信息码?或者是哪些浏览器可以?

14191 次点击
所在节点    JavaScript
44 条回复
jin5354
2019-11-22 10:28:47 +08:00
工信部刚刚敦促国内互联网公司不允许获取手机 imei,否则要等着挨批
whypool
2019-11-22 10:41:21 +08:00
原生都难获取设备 ID,还想 js 获取,太天真了
TomatoYuyuko
2019-11-22 10:49:30 +08:00
fingerprint 我项目中实践过,可以负责任的告诉你非常不靠谱,
首先是你得要求用户不能动浏览器版本,不能乱装莫名其妙的插件和安全软件(或者流氓软件)
其次,如果是内部使用,因为配置都差不多,碰撞概率撞到你怀疑人生
fingerprint.js 和 fingerprint2.js 我都用过,自己手写的也试过,都有各种缺点
如果要作为准确的识别码纯前端实现几乎不可能,
除非你去写 electron 一类的可以获取 mac 一类的
TomatoYuyuko
2019-11-22 10:51:01 +08:00
@fancy111 #12 其实多少有点关系,图像渲染质量和硬件相关,更换硬件有概率影响最后生成的结果,但是影响不直观就是了
locoz
2019-11-22 11:02:32 +08:00
精确到设备的做不到,换个浏览器都会有差别。浏览器指纹现成的轮子和商业级产品很多,直接用就行。
love
2019-11-22 11:12:52 +08:00
别想了,能得到机器唯一 ID 那就是天大的隐私 BUG,马上就会被修复还等你来用?
fancy111
2019-11-22 11:20:44 +08:00
@TomatoYuyuko 硬件到图像渲染中间还差了一个软件呢,它如何调用处理都是它说了算。
janxin
2019-11-22 11:23:01 +08:00
不可能唯一,只能降低碰撞概率
TomatoYuyuko
2019-11-22 11:29:44 +08:00
@fancy111 #27 这里的软件指的就是浏览器啊,指纹原理就是看浏览器处理能力再混入一些其他参数,
fancy111
2019-11-22 11:37:56 +08:00
@TomatoYuyuko 这不废话吗,我第一句就是说这是浏览器指纹
dawen
2019-11-22 11:41:58 +08:00
@love 正解
zhuojiu
2019-11-22 11:51:05 +08:00
@Xuebaba 这个只能区别浏览器,设备不行的
muzuiget
2019-11-22 11:54:31 +08:00
建议放弃治疗,因为浏览器厂商和网页标准一直避免出现这种事,所以要真唯一,老老实实让用户注册好了。
jinliming2
2019-11-22 12:42:36 +08:00
https://github.com/WICG/ua-client-hints/blob/master/README.md
以后估计 UserAgent 都不太好获取了,我用的 Chrome 80 貌似已经在逐步实施了。
默认只能得到浏览器主版本号了,虽说服务端下发个头可以获取更多信息,但是我觉得未来浏览器应该可以配置不返回更多信息的……
reus
2019-11-22 13:36:03 +08:00
傻逼需求
uxstone
2019-11-22 13:40:55 +08:00
傻逼需求
back0893
2019-11-22 14:36:36 +08:00
想太多
no1xsyzy
2019-11-22 14:54:16 +08:00
@TomatoYuyuko 渲染指纹的话但凡一点抖动都会变的,因为最后是对渲染结果图片算 Hash,带雪崩。
no1xsyzy
2019-11-22 15:00:15 +08:00
我反而不是很明白这一功能的使用场景
是同设备换浏览器无需重复登录吗?首先一直换浏览器的人本来就少,换浏览器的人常常是在放弃登录状态(比如测试无登录时的效果)
如果要防泛洪,那你不知道现在的泛洪都是可以做真设备的,养一堆真设备。
如果你要对某个污染源进行屏蔽,封 IP 或者 IP 段比较稳。
fuchunliu
2019-11-22 18:56:18 +08:00
这些狗日的一天到晚都在想追踪用户

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/621970

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX