CakePHP obtiene la dirección IP
ip-address (3)
¿Cómo puedo obtener la dirección IP del cliente en CakePHP? Sería $_SERVER[''REMOTE_ADDR'']
en PHP simple.
Pensé que era como todos los $_SERVER
vars de $_SERVER
y se puede acceder utilizando env(''VAR_NAME'')
, o getClientIP()
en CakePHP, pero no devuelve los mismos resultados.
¿Algunas ideas?
CakePHP 1.x :
RequestHandlerComponent::getClientIp();
Entonces para aclarar:
public $components = array(
''RequestHandler''
);
Luego en el método del controlador:
$this->RequestHandler->getClientIp();
CakePHP 2.x :
RequestHandler::getClientIp()
está en desuso; puede obtener la dirección IP del cliente del objeto CakeRequest
:
$this->request->clientIp();
Si necesita obtener la dirección IP desde un modelo, $this->request->getClientIp()
no funcionará, arrojando:
Error: Llamar a una función miembro clientIp () en un objeto no objeto
Use Router::getRequest()->clientIp()
lugar.
Básicamente, Router::getRequest()
puede servir como reemplazo de Modelo de la $this->request
del Controlador
Uso de CakePHP 3.x:
//in controller
$ip = $this->request->clientIp();
Uso de CakePHP 2.x
//in controller
$this->request->ClientIp();
Uso de CakePHP 1.x
//in controller
RequestHandlerComponent::getClientIP();