web 应用如何限制访问地点? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lancelock
V2EX    问与答

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

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

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

    原本打算通过 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,客户端证书稳的一批 还能无感统计登录和操作历史啥的。
        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     Solana     859 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 21:07 PVG 05:07 LAX 14:07 JFK 17:07
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86