Obtener la IP del dispositivo o navegador web utilizado

Código PHP

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: