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