
如题,做 web 应用,要获得手机或电脑的信息唯一码。用来鉴别用户。浏览器由于安全权限问题,连客户端本地文件读写都不行,那有没有办法获得设备唯一信息码?或者是哪些浏览器可以?
1 MaxJin 2019-11-22 09:14:14 +08:00 现在用 js 可以啊 |
4 journey0ad 2019-11-22 09:17:25 +08:00 via Android |
5 Xuebaba 2019-11-22 09:18:26 +08:00 via iPhone fingerprint.js 可以试试,但还是存在同一批机型,id 重复问题,不可避免的。服务器端配合下发 cookie 可以解决问题 |
6 ryougifujino 2019-11-22 09:20:00 +08:00 @Xuebaba #5 电脑换个浏览器就不行了吧 |
7 dreamerlv3ex 2019-11-22 09:22:18 +08:00 用户 ID 不好用吗... |
8 ming61177 2019-11-22 09:26:53 +08:00 浏览器指纹? |
9 tctc4869 OP @dreamerlv3ex 做比较简单的 web 应用,需求上光用户 id 不行,至少还得鉴别用户的设备,至少手机设备唯一信息必须能被确认。如果用手机原生语言开发,倒是容易获取。但成本有点高了。还得学 android 和 ios |
11 weikexin 2019-11-22 09:38:08 +08:00 只能获得浏览器的唯一码,换个浏览器就变了 |
12 fancy111 2019-11-22 09:38:35 +08:00 fingerprint 没用,这只是浏览器指纹,跟机器无关。 用浏览器目前是无法获取唯一识别码的,浏览器没开放这个接口给你。 APP 或者桌面软件才行,这要直接获取硬件信息,生成唯一码。目前大部分软件公司也是用这个办法收费的。 |
13 shilyx 2019-11-22 09:42:44 +08:00 我看完全是想多了,浏览器在沙箱里获取硬件信息难,用本地存储的话还有隐身模式的存在 最佳方案:让客户端装 native 插件 |
14 AaronLiu00 PRO https://audiofingerprint.openwpm.com/ 用 Audio API 获取设备指纹,与浏览器无关 |
16 sujin190 2019-11-22 09:53:36 +08:00 web 的基本要求就是不能和设备用户强相关联,就算你能找到也算漏洞估计下一版本就堵上了,通用场景下用 cookie 追踪用户就已经比较高风险了 |
17 gitJavascript 2019-11-22 10:06:09 +08:00 https://juejin.im/post/5dc8f8d8f265da4d0c175abe 看看这个,基本上是可以做的,不能保证 100% |
18 flighter 2019-11-22 10:14:46 +08:00 这个我试过, 用 js 无法获取获取设备信息唯一码 (指纹), 是因为隐私原因浏览器不会开放这个接口的, 可以生成浏览器的唯一码,卸载重装后获得的唯一码 (指纹)会改变 |
19 momocraft 2019-11-22 10:15:14 +08:00 大部分时候追求用户的唯一 ID 也就那么几个目的 |
用 JS 调用 java 就行 |
21 jin5354 2019-11-22 10:28:47 +08:00 工信部刚刚敦促国内互联网公司不允许获取手机 imei,否则要等着挨批 |
22 whypool 2019-11-22 10:41:21 +08:00 原生都难获取设备 ID,还想 js 获取,太天真了 |
23 TomatoYuyuko 2019-11-22 10:49:30 +08:00 fingerprint 我项目中实践过,可以负责任的告诉你非常不靠谱, 首先是你得要求用户不能动浏览器版本,不能乱装莫名其妙的插件和安全软件(或者流氓软件) 其次,如果是内部使用,因为配置都差不多,碰撞概率撞到你怀疑人生 fingerprint.js 和 fingerprint2.js 我都用过,自己手写的也试过,都有各种缺点 如果要作为准确的识别码纯前端实现几乎不可能, 除非你去写 electron 一类的可以获取 mac 一类的 |
24 TomatoYuyuko 2019-11-22 10:51:01 +08:00 @fancy111 #12 其实多少有点关系,图像渲染质量和硬件相关,更换硬件有概率影响最后生成的结果,但是影响不直观就是了 |
25 locoz 2019-11-22 11:02:32 +08:00 精确到设备的做不到,换个浏览器都会有差别。浏览器指纹现成的轮子和商业级产品很多,直接用就行。 |
26 love 2019-11-22 11:12:52 +08:00 别想了,能得到机器唯一 ID 那就是天大的隐私 BUG,马上就会被修复还等你来用? |
27 fancy111 2019-11-22 11:20:44 +08:00 @TomatoYuyuko 硬件到图像渲染中间还差了一个软件呢,它如何调用处理都是它说了算。 |
28 janxin 2019-11-22 11:23:01 +08:00 不可能唯一,只能降低碰撞概率 |
29 TomatoYuyuko 2019-11-22 11:29:44 +08:00 @fancy111 #27 这里的软件指的就是浏览器啊,指纹原理就是看浏览器处理能力再混入一些其他参数, |
30 fancy111 2019-11-22 11:37:56 +08:00 @TomatoYuyuko 这不废话吗,我第一句就是说这是浏览器指纹 |
33 muzuiget 2019-11-22 11:54:31 +08:00 建议放弃治疗,因为浏览器厂商和网页标准一直避免出现这种事,所以要真唯一,老老实实让用户注册好了。 |
34 jinliming2 2019-11-22 12:42:36 +08:00 https://github.com/WICG/ua-client-hints/blob/master/README.md 以后估计 UserAgent 都不太好获取了,我用的 Chrome 80 貌似已经在逐步实施了。 默认只能得到浏览器主版本号了,虽说服务端下发个头可以获取更多信息,但是我觉得未来浏览器应该可以配置不返回更多信息的…… |
35 reus 2019-11-22 13:36:03 +08:00 傻逼需求 |
36 uxstone 2019-11-22 13:40:55 +08:00 傻逼需求 |
37 back0893 2019-11-22 14:36:36 +08:00 想太多 |
38 no1xsyzy 2019-11-22 14:54:16 +08:00 @TomatoYuyuko 渲染指纹的话但凡一点抖动都会变的,因为最后是对渲染结果图片算 Hash,带雪崩。 |
39 no1xsyzy 2019-11-22 15:00:15 +08:00 我反而不是很明白这一功能的使用场景 是同设备换浏览器无需重复登录吗?首先一直换浏览器的人本来就少,换浏览器的人常常是在放弃登录状态(比如测试无登录时的效果) 如果要防泛洪,那你不知道现在的泛洪都是可以做真设备的,养一堆真设备。 如果你要对某个污染源进行屏蔽,封 IP 或者 IP 段比较稳。 |
40 fuchunliu 2019-11-22 18:56:18 +08:00 via Android 这些狗日的一天到晚都在想追踪用户 |
41 Jirajine 2019-11-22 19:01:58 +08:00 via Android 像我这种用了各种 id 指纹随机化想必也不是贵司欢迎的用户,LZ 不妨透露一下贵司或贵产品名字以供避雷? |
42 conn4575 2019-11-23 09:38:58 +08:00 via Android 这种实际上挺常见的,不一定是为了追踪用户,例如风控里面防止用户注册多账号褥羊毛,但是确实很大可能都 会被大数据拿去用做唯一 ID |
43 myqoo 2019-11-23 11:48:57 +08:00 我就明确告诉你:不能 |