【发布时间】:2018-06-09 13:08:10
【问题描述】:
在你说它是重复的之前,我特此声明我已经尝试了这个网站上的所有东西,但它没有奏效。
我的问题是,我正在尝试获取我网站的访问者的 IP 地址以记录谁在访问它,但是,当我使用两个使用相同 Internet 连接的不同设备对其进行测试时,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(主文件)中。
【问题讨论】:
-
您听说过“NAT”这个词吗?您通过 IP 地址识别用户的方法根本行不通。
-
我没有,请解释一下。
-
当使用通过同一路由器连接到互联网的 2 台设备(笔记本电脑、台式机)时,您将获得相同的 IP 地址 - 路由器的 IP 地址。一些公司使用网关,因此即使不是 1000 人,也有 100 人可能看起来拥有相同的 IP 地址,有时同一个人可能从同一台计算机连接并拥有多个不同的 IP 地址。
-
另外我建议你简单地使用google并了解网络拓扑。
-
"那么我如何区分这些设备?甚至可能吗?" ...从网络服务器的角度来看?而不是通过路由器对用户机器进行反向黑客攻击? ....我敢说“不”。
标签: php ip environment-variables