Web 如何限制访问设备

41 天前
imherer  imherer

一个内部系统,但是部署在公网上的,用户都是用 chrome 访问,基于安全性考虑加 IP 访问限制,但是有些用户没有固定公网 ip 或者甚至可能有移动设备访问。

有没有什么办法像 app 那样取到设备信息呢,加设备白名单限制访问

4900 次点击
所在节点   程序员  程序员
72 条回复
8355
8355
41 天前
UA 吗。。。 随便伪造
最好是借助一些外部系统跳转做 sso ,类似钉钉/飞书登陆,其实你的核心诉求是鉴权用户而不是鉴权设备。
合法用户的所有设备都可用才对
UnluckyNinja
UnluckyNinja
41 天前
http 请求是可以自己构造的,设备信息不靠谱,加个 auth 模块吧
w292614191
w292614191
41 天前
如果 nginx 之类的能限制 MAC 地址就好了。
w292614191
w292614191
41 天前
我之前翻了一圈,希望能在云服务器限制 mac 地址,结果没什么好的办法。
mightybruce
mightybruce
41 天前
既然都是浏览器访问,考虑一下浏览器指纹,使用一些成熟的浏览器指纹库,基本不管你 IP 和 浏览器头部做一些变化都能独立识别用户。
mightybruce
mightybruce
41 天前
比如这个 js 库的 demo
https://fingerprint.com/demo/
liuidetmks
liuidetmks
41 天前
@w292614191 不可能的,除非你在应用层获取 mac
leo7476040305
leo7476040305
41 天前
套一层 VPN ,VPN 服务器固定 IP ,只允许 VPN 服务器 IP 访问
kristofer
kristofer
41 天前
加个登陆验证?
djs
djs
41 天前
上面老哥说的浏览器指纹可以考虑下
fox0001
fox0001
41 天前
内部系统不需要用户登录的吗?如果需要,就是登录验证、二次验证等的解决方案。如果不需要登录,可以考虑颁发证书的形式。
poxiaogg
poxiaogg
41 天前
可以用双向证书
wangtian2020
wangtian2020
41 天前
看你是防君子还是防小人,结果上来说就是小人防不住。
HangoX
HangoX
41 天前
搭建个 vpn 吧,要么用 openvpn ,要么用 tailscale ,这样安全性会高很多
skallz
skallz
41 天前
@mightybruce 浏览器指纹只能作为辅助识别用户的手段,不能作为唯一识别用户的手段,你可以看到任何指纹库其准确率都到不了 100%,哪怕是你发的这个 npm 文档上也写了准确率为 40%至 60%
skallz
skallz
41 天前
这种需求加个 auth 模块吧,接入微信钉钉飞书就行
czk1997
czk1997
41 天前
要求 SSO 。设备纳入 MDM ,加证书登录。或者类似 Cloudflare ZeroTrust 这样的方案。
wheat0r
wheat0r
41 天前
如果用户都在一个或几个固定的网络里,用内网的防火墙解决问题
htfcuddles
htfcuddles
41 天前
你需要的是 SSO+Device Enrollment ,例如 MS 的 Intune
xiri
xiri
41 天前
@w292614191 mac 地址只在局域网有效,出了网关看到的就都是网关的 mac 地址了,你这个不可能实现的,除非你自己实现应用端和服务端,把 mac 地址封装到数据载荷里

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1110896

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX