V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lancelock
V2EX  ›  问与答

web 应用如何限制访问地点?

  •  
  •   lancelock · 2020-10-07 20:42:27 +08:00 · 1925 次点击
    这是一个创建于 1536 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我最近帮亲戚做一个简单的管理软件,他要求只有他几个店里能登陆,我没想到啥实现的方法

    原本打算通过 ip 白名单来做,但试了下发现公网 ip 是一直变化的,要申请固定 ip 又很贵。有没有合适的方式啊

    16 条回复    2020-10-08 20:31:13 +08:00
    Rxianbei
        1
    Rxianbei  
       2020-10-07 21:13:27 +08:00 via Android
    验证 http 请求头,chrome 有个插件可以自定义请求头
    2067
        2
    2067  
       2020-10-07 21:54:24 +08:00   ❤️ 1
    客户端私钥认证,自用的话随便签个证书就可以
    CallMeReznov
        3
    CallMeReznov  
       2020-10-07 21:59:14 +08:00
    做个 knockport 行为处理.
    如果是类似阿里云 /腾讯云就利用它的 CLI 工具添加白名单.

    大概就是写个批处理或者你自己下载 SDK 集成好,每次开启软件之前或者手动运行,把外网新 IP 添加到安全组内即可.

    之前自己搭建的私人魔法就是用这个套路.
    westoy
        4
    westoy  
       2020-10-07 22:02:43 +08:00
    常见的经销商限 IP 方案很多都是通过 VPN 做的, 服务端系统限制只有 VPN IP 能访问, 分销连 VPN 后再访问,VPN 锁死硬件特征和证书
    ochatokori
        5
    ochatokori  
       2020-10-07 22:03:21 +08:00 via Android   ❤️ 1
    密码登录不行吗。。。
    dzdh
        6
    dzdh  
       2020-10-07 23:24:44 +08:00
    客户端证书 +1

    刚研究完 PKI,客户端证书稳的一批 还能无感统计登录和操作历史啥的。
    qa2080639
        7
    qa2080639  
       2020-10-07 23:48:48 +08:00 via Android
    浏览器指纹。后台只信任那几个店里的浏览器能访问
    lancelock
        8
    lancelock  
    OP
       2020-10-08 10:03:23 +08:00 via iPhone
    @ochatokori 在任何地方都可以密码登录吧,怎么限制啊
    namelosw
        9
    namelosw  
       2020-10-08 10:17:06 +08:00 via iPad
    听起来密码没啥问题啊?难不成亲戚是搞机密信息的?

    不过硬要做搞证书就是了,只有店里的机器装证书。
    renmu123
        10
    renmu123  
       2020-10-08 13:53:43 +08:00 via Android
    (你说服他这是伪需求就不用开发了
    dingwen07
        11
    dingwen07  
       2020-10-08 14:09:28 +08:00 via Android
    客户端证书验证
    或者 base auth 然后在指定计算机内保存密码?
    whileFalse
        12
    whileFalse  
       2020-10-08 18:05:26 +08:00 via iPhone
    用蒲公英或者其他方式直接组成局域网
    lancelock
        13
    lancelock  
    OP
       2020-10-08 19:49:02 +08:00
    @namelosw 没有啊,他是做房产中介的,他这个产品的主要功能就是要录入房源客源信息,让店里的员工去跟进追踪啥的。因为这些信息对他们来说就是资源,他担心员工会把这些东西外泄,或者带到竞争对手的店里去。他们这里人员流动还是很高的,所以希望只有在他们店里能使用。
    你用密码登录我在别的地方不也一样能登录吗?怎么限制。
    lancelock
        14
    lancelock  
    OP
       2020-10-08 19:51:00 +08:00
    谢谢各位的建议,客户端证书啥的我自己也没尝试过,不知道好不好实现。而且个人感觉还是太麻烦了,他们自己也不会弄,就算做出来可能还得我去帮他们装,有点不切实际,我们也不在一个城市。另外我感觉也没有限制好地理位置吧,其他电脑上也能装这个证书吧?
    lancelock
        15
    lancelock  
    OP
       2020-10-08 19:53:25 +08:00
    我考虑过可不可以检测客户端的地理位置来判断,我记得前端好像是有这个 api 的,但不知道精度够不够
    namelosw
        16
    namelosw  
       2020-10-08 20:31:13 +08:00
    前端没有这种 API 吧,别人一访问你的网站你就知道他在哪还了得…… 最多就是有一些库靠 IP 能告诉你大致位置,精度肯定是不够的。还有就是 IP 白名单,问题跟你自己说的一样。

    还有就是靠内网,VPN 啥的,换个 WIFI 就用不了之类的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1131 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.