我最近帮亲戚做一个简单的管理软件,他要求只有他几个店里能登陆,我没想到啥实现的方法
原本打算通过 ip 白名单来做,但试了下发现公网 ip 是一直变化的,要申请固定 ip 又很贵。有没有合适的方式啊
1
Rxianbei 2020-10-07 21:13:27 +08:00 via Android
验证 http 请求头,chrome 有个插件可以自定义请求头
|
2
2067 2020-10-07 21:54:24 +08:00 1
客户端私钥认证,自用的话随便签个证书就可以
|
3
CallMeReznov 2020-10-07 21:59:14 +08:00
做个 knockport 行为处理.
如果是类似阿里云 /腾讯云就利用它的 CLI 工具添加白名单. 大概就是写个批处理或者你自己下载 SDK 集成好,每次开启软件之前或者手动运行,把外网新 IP 添加到安全组内即可. 之前自己搭建的私人魔法就是用这个套路. |
4
westoy 2020-10-07 22:02:43 +08:00
常见的经销商限 IP 方案很多都是通过 VPN 做的, 服务端系统限制只有 VPN IP 能访问, 分销连 VPN 后再访问,VPN 锁死硬件特征和证书
|
5
ochatokori 2020-10-07 22:03:21 +08:00 via Android 1
密码登录不行吗。。。
|
6
dzdh 2020-10-07 23:24:44 +08:00
客户端证书 +1
刚研究完 PKI,客户端证书稳的一批 还能无感统计登录和操作历史啥的。 |
7
qa2080639 2020-10-07 23:48:48 +08:00 via Android
浏览器指纹。后台只信任那几个店里的浏览器能访问
|
8
lancelock OP @ochatokori 在任何地方都可以密码登录吧,怎么限制啊
|
9
namelosw 2020-10-08 10:17:06 +08:00 via iPad
听起来密码没啥问题啊?难不成亲戚是搞机密信息的?
不过硬要做搞证书就是了,只有店里的机器装证书。 |
10
renmu123 2020-10-08 13:53:43 +08:00 via Android
(你说服他这是伪需求就不用开发了
|
11
dingwen07 2020-10-08 14:09:28 +08:00 via Android
客户端证书验证
或者 base auth 然后在指定计算机内保存密码? |
12
whileFalse 2020-10-08 18:05:26 +08:00 via iPhone
用蒲公英或者其他方式直接组成局域网
|
13
lancelock OP @namelosw 没有啊,他是做房产中介的,他这个产品的主要功能就是要录入房源客源信息,让店里的员工去跟进追踪啥的。因为这些信息对他们来说就是资源,他担心员工会把这些东西外泄,或者带到竞争对手的店里去。他们这里人员流动还是很高的,所以希望只有在他们店里能使用。
你用密码登录我在别的地方不也一样能登录吗?怎么限制。 |
14
lancelock OP 谢谢各位的建议,客户端证书啥的我自己也没尝试过,不知道好不好实现。而且个人感觉还是太麻烦了,他们自己也不会弄,就算做出来可能还得我去帮他们装,有点不切实际,我们也不在一个城市。另外我感觉也没有限制好地理位置吧,其他电脑上也能装这个证书吧?
|
15
lancelock OP 我考虑过可不可以检测客户端的地理位置来判断,我记得前端好像是有这个 api 的,但不知道精度够不够
|
16
namelosw 2020-10-08 20:31:13 +08:00
前端没有这种 API 吧,别人一访问你的网站你就知道他在哪还了得…… 最多就是有一些库靠 IP 能告诉你大致位置,精度肯定是不够的。还有就是 IP 白名单,问题跟你自己说的一样。
还有就是靠内网,VPN 啥的,换个 WIFI 就用不了之类的。 |