Php 如何获得用户';Codeigniter上的IP地址
我有一些问题,我需要知道如何在我的网站上获取用户的IP地址,我正在使用以下代码:Php 如何获得用户';Codeigniter上的IP地址,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我有一些问题,我需要知道如何在我的网站上获取用户的IP地址,我正在使用以下代码: $ip = $this->input->ip_address() ; echo $ip; 它将返回我的主机IP,感谢您的帮助可能的副本。问:当您尝试$ip=$this->input->ip_address()时发生了什么?另一种方法是做一个PHP级别的$\u服务器['HTTP\u CLIENT\u IP'];但它返回的是我的主机ip地址而不是用户ip地址。你能打开/解释一下这段代码的实际功能吗?因为表
$ip = $this->input->ip_address() ;
echo $ip;
它将返回我的主机IP,感谢您的帮助可能的副本。问:当您尝试
$ip=$this->input->ip_address()时发生了什么代码>?另一种方法是做一个PHP级别的$\u服务器['HTTP\u CLIENT\u IP']
;但它返回的是我的主机ip地址而不是用户ip地址。你能打开/解释一下这段代码的实际功能吗?因为表面上它似乎只是简单地检查了一堆设置,然后选择它发现的第一个设置。
Use this function instead of it.
function get_ip_address_of_user() {
$ipaddress = array();
if (isset($_SERVER['HTTP_CLIENT_IP']))
$ipaddress['ip'] = $_SERVER['HTTP_CLIENT_IP'];
else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ipaddress['ip'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if (isset($_SERVER['HTTP_X_FORWARDED']))
$ipaddress['ip'] = $_SERVER['HTTP_X_FORWARDED'];
else if (isset($_SERVER['HTTP_FORWARDED_FOR']))
$ipaddress['ip'] = $_SERVER['HTTP_FORWARDED_FOR'];
else if (isset($_SERVER['HTTP_FORWARDED']))
$ipaddress['ip'] = $_SERVER['HTTP_FORWARDED'];
else if (isset($_SERVER['REMOTE_ADDR']))
$ipaddress['ip'] = $_SERVER['REMOTE_ADDR'];
return $ipaddress;
}