cakephp 2.3没有返回用户的真实ip

时间:2013-07-04 22:47:42

标签: cakephp cakephp-2.3 clientip

我正在尝试使用“clientIp”函数来获取用户的真实IP,但这并没有返回任何内容。 我正在使用这个:

$ipAddr = $this->request->clientIp();
print_r($ipAddr);die();

并打印“:: 1”

而不是实际的ip print,打印它:: 1

任何人都遇到过这个问题,我该如何解决?

1 个答案:

答案 0 :(得分:2)

在cakephp 2.xx

中试试
$this->request->clientIp();

您可以使用本机PHP服务器变量

$_SERVER['REMOTE_ADDR']

这是我在CakePhP上的应用程序的工作示例

function get_realIp(){
  if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])){
        $_SERVER['REMOTE_ADDR']=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }elseif(isset($_SERVER['HTTP_X_REAL_IP']){
        $_SERVER['REMOTE_ADDR']=$_SERVER['HTTP_X_REAL_IP'];
    }
return $_SERVER['REMOTE_ADDR'];
}

请告诉我是否可以为您提供更多帮助。