CakePHP 获取 IP 地址

时间:2023-01-18
本文介绍了CakePHP 获取 IP 地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

如何在 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();

这篇关于CakePHP 获取 IP 地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!