【发布时间】:2013-02-25 17:11:11
【问题描述】:
我正在尝试通过获取他们的 IP 来建立一个数据库,其中包含对我网站上特定页面的唯一访问者的记录。
下面的代码获取访问者的IP:
$getip = $_SERVER['REMOTE_ADDR'];
echo "<b>IP Address: $getip</b>";
但我意识到,如果不同的互联网用户在特定的互联网网络上并且他们都使用不同的计算机共享相同的 IP 地址(如公共网吧或见下面的示例),这是非常不可靠和不准确的。
例子:
如果 XYZ Ltd 的所有员工都通过公司 Internet 连接连接到 Internet,并且 XYZ Ltd 的 IP 地址为 69.18.107.24,则 XYZ Ltd 使用特定的 Internet 连接。 如果 XYZ 的某些员工访问我的页面,上面的代码不会给我用户计算机的唯一 IP 地址,而是我会不断获取公司 IP 地址 (69.18.107.24),这是不准确且具有欺骗性的,因为应用程序会看到它是同一个访问者,而有不同的访问者使用互联网连接 IP。
无论他们是否共享相同的互联网连接,我如何才能根据用户的计算机获取唯一的用户 IP。
我不想使用 PHP cookie,因为有些浏览器不支持它,而有些用户禁用它或其他东西。
如果能得到这方面的帮助将不胜感激...谢谢!
【问题讨论】:
-
共享公共地址后面的大多数计算机都有私有地址。你真的想要那些吗?
-
是的,我不介意那些?...会寻求帮助..谢谢!
-
即使您可以(并且您不能,请参阅 deceze 的回答),像
192.168.0.1这样的私人地址也可以被 100,000,000 台计算机共享。它比69.18.107.24准确度低几个数量级。