Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/05/2016, 00:05
minombreesmm
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Problema al leer y ip cuando accedo con android.

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Podrías al menos compartir como son dichas tres IPs?

Porque adivinos no somos.
Lo resolvi con esta funcion que me regresa la ip publica.


Código PHP:
Ver original
  1. function getRealIP()
  2. {
  3.  
  4.    if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
  5.    {
  6.       $client_ip =
  7.          ( !empty($_SERVER['REMOTE_ADDR']) ) ?
  8.             $_SERVER['REMOTE_ADDR']
  9.             :
  10.             ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
  11.                $_ENV['REMOTE_ADDR']
  12.                :
  13.                "unknown" );
  14.  
  15.       // los proxys van añadiendo al final de esta cabecera
  16.       // las direcciones ip que van "ocultando". Para localizar la ip real
  17.       // del usuario se comienza a mirar por el principio hasta encontrar
  18.       // una dirección ip que no sea del rango privado. En caso de no
  19.       // encontrarse ninguna se toma como valor el REMOTE_ADDR
  20.  
  21.       $entries = preg_split('/[, ]/', $_SERVER['HTTP_X_FORWARDED_FOR']);
  22.  
  23.       reset($entries);
  24.       while (list(, $entry) = each($entries))
  25.       {
  26.          $entry = trim($entry);
  27.          if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )
  28.          {
  29.             // http://www.faqs.org/rfcs/rfc1918.html
  30.             $private_ip = array(
  31.                   '/^0\./',
  32.                   '/^127\.0\.0\.1/',
  33.                   '/^192\.168\..*/',
  34.                   '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
  35.                   '/^10\..*/');
  36.  
  37.             $found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
  38.  
  39.             if ($client_ip != $found_ip)
  40.             {
  41.                $client_ip = $found_ip;
  42.                break;
  43.             }
  44.          }
  45.       }
  46.    }
  47.    else
  48.    {
  49.       $client_ip =
  50.          ( !empty($_SERVER['REMOTE_ADDR']) ) ?
  51.             $_SERVER['REMOTE_ADDR']
  52.             :
  53.             ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
  54.                $_ENV['REMOTE_ADDR']
  55.                :
  56.                "unknown" );
  57.    }
  58.  
  59.    return $client_ip;
  60.  
  61. }
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra