CakePHP 获取 IP 地址

2021-12-21 00:00:00 ip-address php cakephp

如何在 CakePHP 中获取客户端的 IP 地址?在普通 PHP 中,它是 $_SERVER['REMOTE_ADDR'].

How can I get the client's IP address in CakePHP? It'd be $_SERVER['REMOTE_ADDR'] in plain PHP.

我认为它就像所有 $_SERVER 变量一样,可以使用 env('VAR_NAME') 或 CakePHP 中的 getClientIP() 访问,但它不会返回相同的结果.

I thought it's like all $_SERVER vars and can be accessed using env('VAR_NAME'), or getClientIP() in CakePHP, but it doesn't return the same results.

有什么想法吗?

推荐答案

CakePHP 1.x:

RequestHandlerComponent::getClientIp();

澄清一下:

public $components = array(
    'RequestHandler'
);

然后在控制器方法中:

$this->RequestHandler->getClientIp();

CakePHP 2.x &CakepPHP 3.x:

RequestHandler::getClientIp() 已弃用;您可以从 CakeRequest 对象:

RequestHandler::getClientIp() is deprecated; you can get the client IP from the CakeRequest object:

$this->request->clientIp();

相关文章