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 · 15 天前 · 1404 次点击

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

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

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