好吧,我正在尝试记录用户登录历史记录,因此我需要跟踪用户的IP地址。 我用过:
$this->input->ip_address();
如果用户具有有效的IP,则应返回机器的ip address
,如果用户没有有效的IP,则应返回0.0.0.0
。但就我而言,它既没有返回。
它只返回一种不寻常的格式。
::1
P.S。我在我的本地电脑上查看它。
编辑:
感谢所有评论的人。但是这里仍有奇怪的事情发生。我有两个独立的应用程序在同一台机器上运行。这两个应用程序都是在Codeigniter 2中创建的。第一个应用程序记录0.0.0.0
,第二个记录::1
。两个应用程序都应该返回同样的东西吗?
由于
答案 0 :(得分:6)
::1
是有效的IP地址。
答案 1 :(得分:1)
可能值得检查主机文件中是否存在:: 1,并将其注释掉以查看两个应用程序的行为是否相同。
此主题包含一些有用的信息:http://codeigniter.com/forums/viewthread/205222
特别是
所以你的机器正在运行双栈(现在大多数现代操作系统都在这样做),当他们这样做时,他们更喜欢IPv6 over IPv4。
从本地主机界面删除IPv6,从本地网络服务器删除IPv6支持(让它只听你的v4地址),[snipped]