PHP – Device – Obtener IP dispositivo navegador
Función que devuelve la IP del dispositivo o navegador que el usuario está utilizando. Si no se puede detectar devuelve null. La IP se obtiene de la variable superglobal $_SERVER mediante filter_var.
/**
* Class HelperDevide
*/
abstract class HelperDevide
{
/**
* Devuelve la ip del cliente o null si no puede detectarla
*
* @return string
*/
public static function getIp( )
{
foreach ( array(
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_FORWARDED',
'HTTP_X_CLUSTER_CLIENT_IP',
'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED',
'REMOTE_ADDR'
) as $key ) {
$value = HelperServer::getValue($key);
if ( !HelperValidate::isEmpty( $value ) ) {
foreach ( explode( ',', $value ) as $ip ) {
$ip = trim($ip);
if (filter_var( $ip,
FILTER_VALIDATE_IP,
FILTER_FLAG_NO_PRIV_RANGE |
FILTER_FLAG_NO_RES_RANGE ) !== false) {
return $ip;
}
}
}
}
return null;
}
}
Funciones relacionadas:
- HelperServer::getValue : Obtener un valor del array $_SERVER con filter_input
- HelperValidate::isEmpty : Comprobar si una variable esta vacía
