使用PHP获取客户端IP

时间:2018-06-09 13:08:10

标签: php ip environment-variables

在您说它是重复之前,我特此声明我已尝试过本网站上的所有内容但它没有用。

我的问题是,我正在尝试让我的网站的访问者的IP地址记录谁正在访问它,但是,当我使用相同的互联网连接测试两个不同的设备时,IP返回相同的两个。

当我尝试使用4G连接的设备时,它确实向我显示了不同的IP。 这些IP的长度从9到12不等。

我的问题是: 这些是“连接的IP”吗?如何获取特定设备IP?

用于获取IP的当前代码:

$ip = getenv('HTTP_CLIENT_IP')?:
getenv('HTTP_X_FORWARDED_FOR')?:
getenv('HTTP_X_FORWARDED')?:
getenv('HTTP_FORWARDED_FOR')?:
getenv('HTTP_FORWARDED')?:
getenv('REMOTE_ADDR');

编辑: 此代码在header.php文件中运行,该文件包含在index.php(主文件)中。

1 个答案:

答案 0 :(得分:1)

使用REMOTE_ADDR时,您将获得该用户的公共IP地址,因此您可以在同一网络上获得相同的2个设备。您可以做的是设置一个cookie来说明它们是否已经在您的网站上。然后,当用户访问您的网站时,检查cookie,如果他们没有,那么您有另一个独特的命中。如果他们确实拥有该cookie,请忽略它。

我希望这会有所帮助。如果没有,只需DM我