为了账号安全,请及时绑定邮箱和手机立即绑定

我从同一网络中的不同计算机获得相同的 IP 地址

我从同一网络中的不同计算机获得相同的 IP 地址

PHP
跃然一笑 2021-11-26 19:35:56
我正在尝试获取客户端的 IP 地址,以便他们在每台设备上仅使用一个帐户。但是,当我使用以下代码时,发现从同一网络中的计算机返回的IP地址相同。function get_client_ip() {        $ipaddress = '';        if (getenv('HTTP_CLIENT_IP'))            $ipaddress = getenv('HTTP_CLIENT_IP');        else if(getenv('HTTP_X_FORWARDED_FOR'))            $ipaddress = getenv('HTTP_X_FORWARDED_FOR');        else if(getenv('HTTP_X_FORWARDED'))            $ipaddress = getenv('HTTP_X_FORWARDED');        else if(getenv('HTTP_FORWARDED_FOR'))            $ipaddress = getenv('HTTP_FORWARDED_FOR');        else if(getenv('HTTP_FORWARDED'))            $ipaddress = getenv('HTTP_FORWARDED');        else if(getenv('REMOTE_ADDR'))            $ipaddress = getenv('REMOTE_ADDR');        else            $ipaddress = 'UNKNOWN';        return $ipaddress;    }如何从不同设备获取正确的IP地址?
查看完整描述

1 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

这些计算机很可能是通过NAT启用的路由器从网络进入的。在这种情况下,您将只能看到该路由器的 IP 地址,您无能为力。

但是您可以检查 ip 地址和用户代理标头的组合:

$_SERVER['HTTP_USER_AGENT']

不幸的是,没有可靠的方法来 100% 检查请求的来源,但 IP 地址和用户代理的组合可以适用于简单的场景。


查看完整回答
反对 回复 2021-11-26
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信