V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
jimisun
V2EX  ›  JavaScript

js 如何绑定 mac 地址

  •  
  •   jimisun · 2024-04-29 17:40:49 +08:00 · 2674 次点击
    这是一个创建于 403 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个 html 网站服务 给客户开通了账号密码 但是为了防止账号密码随意传播无法控制 想采用最严格的绑定 mac 地址的方式。 既用户的账户密码在某个设备使用 但是 js 又获取不到底层的 mac 地址,请问有没有类似的解决方案。 请指教。

    • vue 项目
    • 浏览器环境
    • web 项目
    16 条回复    2024-04-30 17:21:58 +08:00
    oneisall8955
        1
    oneisall8955  
       2024-04-29 18:05:39 +08:00
    用浏览器指纹吧
    orzorzorzorz
        2
    orzorzorzorz  
       2024-04-29 19:04:21 +08:00
    包个客户端的壳吧。浏览器这玩意给的安全措施太多了,很难满足特殊需求。既然客户跟你的关系已经超越了信任,不妨想办法突破这层膜,解锁更多姿势。
    yushiro
        3
    yushiro  
       2024-04-29 19:09:45 +08:00 via iPhone
    网站用微信扫码登录,然后每次登录走人脸识别。
    我随便乱说的,你看看方案是否可行吧
    LavaC
        4
    LavaC  
       2024-04-29 20:02:04 +08:00
    @oneisall8955 那 brave 浏览器或者多浏览器混用用户不就傻眼了
    shadowyue
        5
    shadowyue  
       2024-04-29 20:03:19 +08:00
    应该是不行的,浏览器环境并没有提供能直接查询到 mac 地址的能力给 js
    lichao
        6
    lichao  
       2024-04-29 20:19:51 +08:00   ❤️ 1
    1 、现代浏览器拿不到 MAC 地址的,隐私策略上就不允许
    2 、浏览器指纹不可靠
    3 、包套壳浏览器涉及到浏览器后续如何更新问题

    较为可行的方案:
    给客户电脑上做个小客户端(启动一个 Mini HttpServer ),浏览器请求 127.0.0.1 拿到 MAC 地址。HttpServer 里当然也要把 MAC 地址稍微加密一下再返回给浏览器( MAC 地址加上时间戳后再加密),登陆时提交给你的网站,解密后校验 MAC 地址和 时间戳。
    hancc
        7
    hancc  
       2024-04-29 20:38:56 +08:00   ❤️ 1
    https://github.com/cpyngithub/macaddr-cem
    参考这个项目,我见移动公司的充值系统是用的这个
    daimaosix
        8
    daimaosix  
       2024-04-29 20:43:26 +08:00 via Android
    双向证书验证啊
    XiLingHost
        9
    XiLingHost  
       2024-04-29 20:52:52 +08:00
    mTLS 或者 webauthn 注册 FIDO2 设备,但是用户还是可以导出这些凭据,建议配合同时在线 IP 策略防止重复登录
    cmwdp
        10
    cmwdp  
       2024-04-29 21:24:55 +08:00
    electron 套壳
    darkengine
        11
    darkengine  
       2024-04-29 21:51:24 +08:00
    单点登录啊,传播可以,别人登了你就下线。
    CodeCodeStudy
        12
    CodeCodeStudy  
       2024-04-30 09:04:23 +08:00
    https 的双向认证,要求客户端必须安装证书
    h175h32
        13
    h175h32  
       2024-04-30 09:06:48 +08:00
    js 绑定 mac 地址,你真的想多了
    jimisun
        14
    jimisun  
    OP
       2024-04-30 09:54:27 +08:00
    @darkengine 登录也不行的,卖的是服务,能分享给别人的话怎么挣钱呢?
    @cmwdp
    @orzorzorzorz 感谢套壳的建议,由于本人没有这方面的经验我想请教一下两个问题 第一是我们卖的服务经常使用到 chrom 浏览器的 f12 开发者选项模拟不同的手机设备使用。套壳后还能具备这项能力吗? 第二是套壳后能获取到底层的 mac 吗?
    @hancc 好的非常感谢宝贵的思路 我暂时认为这种能力非常契合我的场景
    @lichao 点赞点赞 !!!! 思路非常好
    orzorzorzorz
        15
    orzorzorzorz  
       2024-04-30 12:18:11 +08:00
    @jimisun 壳本质是在客户电脑上的服务端,服务端能做的壳基本都能做到。获取 mac 地址是没问题,模拟手机这个要看壳的能力了。个人认为你这场景 webview + 壳操作本地能力就行,js 还是 js ,算比较方便的了。
    defunct9
        16
    defunct9  
       2024-04-30 17:21:58 +08:00
    给客户装 openvpn ,可以绑 mac ,我们就是这么用的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2880 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 03:55 · PVG 11:55 · LAX 20:55 · JFK 23:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.