关于ip地址,以及代理服务器

发布于 2022-09-12 03:32:59 字数 398 浏览 10 评论 0

现有这么一个功能:

背景:公司有一个网站只能内网访问,员工要在家办公只能通过vpn服务器;
功能:网站有个签到功能,能签到的前提是这个员工是在公司办公,在家办公不能签到。
实现:前端通过webrtc获取本机ip地址,通过接口传给后端,后端通过网段来判断是否在公司,来告诉前端是否能显示签到按钮。

我的疑问:

  1. 后端说不能通过请求头里的ip地址来判断是否在内网,那请求头里获取的IP地址是电脑的外网ip还是vpn服务器的ip?
  2. 前端拿到的是内网ip,而内网ip不是路由器分配的吗?那两个局域网下的主机ip地址不会重复吗?大多不都是192.168.xxx.xxx吗?后端是怎么判断的?还是说公司网络分配的ip地址有啥特别的?

我的网络基础知识不好,有描述不对的地方请见谅。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

终止放荡 2022-09-19 03:32:59

一般来说 VPN 都是基于 TCP 的(比如 SOCKS5),这些协议比 HTTP(S) 更底层,没有所谓的 “请求头”;而且 VPN 不会改变客户端传输的 HTTP(S) 报文内容,“请求头里获取的 IP 地址” 就更无从谈起。

建议学习一下网络编程,理解一下这些协议各自有什么用途,就能理解服务器究竟是怎么取得客户端 IP 的了。


P.S. WebRTC 可以通过 STUN 获取其在子网下的 NAT 地址,跟你们内网的服务器不在一个子网网段内就可以被识别了。不过像你们这么应用的我倒是头一回见,因为其实这种做法并不可靠,只要知道你们内网网段是怎么划分的、子网掩码是多少,完全可以在外网用相同的配置弄出来“看起来没问题”的 IP 出来。

假装不在乎 2022-09-19 03:32:59

后端拿到的是vpn的地址,前端应该是拿不到你本地ip的,即使拿到了也没有用,它是内网ip没有意义。通过ip来判断打卡,我感觉不可行。

野却迷人 2022-09-19 03:32:59

服务端通过header拿到的ip,如果是内网是电脑的ip,如果是外网则是外网ip/vpn ip。还有就是看服务器有没有前置均衡的配置,配置没设置好会均衡的ip。用这个判断准确性有一定的问题

WebRTC抓取本地ip,这个只需把家里的电脑ip设置成公司一样即可

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文