请教大神nodejs如何获得客户端的mac地址。 或者说如何区分客户端的唯一性
28 回复
WAN没办法获取mac地址的(除非客户端自己把mac地址加到http头)
- 在http/tcp的交互过程中是通过ip来通讯的,而mac地址是物理层的,每个数据包会先把mac地址解析成ip再发送
- 再LAN环境下,可以通过ARP协议来获取,简单的说就是每台计算机都有一个ip到mac的表,如果表里面有就直接返回,如果表里面没有,也只会在LAN环境下发广播来获取数据
你可以在客户端获取mac地址后加在http头里面返回
.yokrie已经说的很清楚了 . 给你一个思路 .如果是你的"客户端"是浏览器的话. 你生成一个唯一的id,保存在cookie,localStorage或sessionStorage之类的地方 . 每次启动都读取一下id .然后干你想干的事 … …
说明问题要准确,你在寻找的是浏览器唯一性的解决方案。
你可以在Google里搜索:browser fingerprint js
,有很多现成的JS库。例如,fingerprintjs
工作原理就是根据每个浏览器的UA字符串、屏幕、语言、安装的插件等信息,计算出当前浏览器的一个唯一的hash值。根据这份报告,准确度达到94%。
这种方法不用在浏览器端存储任何信息,每次需要识别浏览器时,都是实时计算这个hash值。
为了提高准确度,你可以结合在cookie或者localStorage中存储唯一标识的方法,提高识别度。