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