5

好吧,我正在尝试记录用户登录历史记录,所以为此我需要跟踪用户的 IP 地址。我用了:

$this->input->ip_address();

ip address如果用户有有效的 ip,这应该返回机器的,或者如果用户没有有效的 IP,则应该返回0.0.0.0。但就我而言,它也没有返回。

它只是返回一种不寻常的格式。

::1

PS我正在我的本地计算机上检查它。

编辑 :

感谢所有评论的人。但在这里出来仍然是奇怪的事情。我在同一台机器上运行了两个独立的应用程序。这两个应用程序都是在 Codeigniter 2 中进行的。第一个记录0.0.0.0和第二个记录::1。两个应用程序不应该返回相同的东西吗?

谢谢

4

2 回答 2

6

::1 一个有效的 IP 地址。

http://en.wikipedia.org/wiki/IPv6

于 2012-09-09T13:37:07.877 回答
1

可能值得检查 ::1 是否存在于您的主机文件中,并将其注释掉以查看您的两个应用程序的行为是否相同。

这个线程有一些有用的信息: http ://codeigniter.com/forums/viewthread/205222

尤其

所以你的机器正在运行双栈(现在大多数现代操作系统都这样做),当它们运行时,他们更喜欢 IPv6 而不是 IPv4。

从您的 localhost 界面中删除 IPv6,从您的本地网络服务器中删除 IPv6 支持(让它只听您的 v4 地址),[snipped]

于 2012-10-17T23:23:14.700 回答