Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mi script no reconoce mi IP ni país!

Estas en el tema de Mi script no reconoce mi IP ni país! en el foro de PHP en Foros del Web. Hola a todo mundo! Uso la librería GEOIPLOC . Cree un script muy sencillo con estas variables: Código PHP: $ip  =  $_SERVER [ "REMOTE_ADDR" ]; ...
  #1 (permalink)  
Antiguo 18/04/2016, 20:14
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Pregunta Mi script no reconoce mi IP ni país!

Hola a todo mundo!

Uso la librería GEOIPLOC. Cree un script muy sencillo con estas variables:
Código PHP:
$ip $_SERVER["REMOTE_ADDR"];
$my_country_code getCountryFromIP($ip"code"); 
Subí este script a un servidor. Resultado: la variable $ip devuelve mi IP, y la variable $my_country_code devuelve el código de mi país, muy bien!

Ese mismo script lo subí a otro servidor (dentro de un subdominio tipo http://subdomain.my-domain.com, el cual pertenece a mi trabajo). Resultado: la variable $ip no devuelve mi IP, sino la IP: 192.168.211.XXX. Por tanto, la variable $my_country_code no devuelve el código de mi país.

En ambos casos utilizo la PC de mi casa.

¿Qué está pasando?


Última edición por berkeleyPunk; 18/04/2016 a las 20:28
  #2 (permalink)  
Antiguo 19/04/2016, 04:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Mi script no reconoce mi IP ni país!

Hola berkeleyPunk,

En teoría, en local, no funciona porque la IP es 127.0.0.1 (en tu caso parece que es 192.16.... que es casi lo mismo) y no corresponde a ningún país.

Te recomiendo que lo pruebes en un servidor de producción.

Espero que te sirva.
  #3 (permalink)  
Antiguo 19/04/2016, 09:22
 
Fecha de Ingreso: enero-2009
Mensajes: 212
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: Mi script no reconoce mi IP ni país!

Mirate esto

http://www.eslomas.com/2005/04/obtencion-ip-real-php/

Un saludo.
__________________
Juega al ajedrez online :http://www.davchess.com
Tecnicas de Ajedrez:http://www.7chess.com
  #4 (permalink)  
Antiguo 19/04/2016, 10:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mi script no reconoce mi IP ni país!

Cita:
Ese mismo script lo subí a otro servidor (dentro de un subdominio tipo http://subdomain.my-domain.com, el cual pertenece a mi trabajo). Resultado: la variable $ip no devuelve mi IP, sino la IP: 192.168.211.XXX. Por tanto, la variable $my_country_code no devuelve el código de mi país.
Ese rango es de la intranet... El subdominio no es público, por lo que la IP recuperada depende del servidor de la red privada o interna.
Ver: Red privada

Como ya te dijeron, tienes que probarlo en un hos público para que te funcione.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 19/04/2016, 18:55
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Sonrisa Respuesta: Mi script no reconoce mi IP ni país!

Cita:
Iniciado por davchess Ver Mensaje
Hola, gracias por responder a todos.

Puse en funcionamiento el script que aparece en la página que posteas, davchess. Resultado: la IP del servidor. Nunca la mía. Hablé de esto con la gente de mi trabajo, y me comentan que el servidor de desarrollo en el que estoy probando esto, está configurado para esconder la IP del cliente.

Así que, por lo que veo, mientras el host decida que la IP del cliente permanece oculta, así será, y ningún script obtendrá lo contrario. ¿No?
  #6 (permalink)  
Antiguo 20/04/2016, 05:50
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Mi script no reconoce mi IP ni país!

Efectivamente, no va a ser posible determinar la ip de la maquina con la cual se realiza la petición, ya que no se hace una petición de forma directa, si ni a través de un intermediario como un proxy o desde una vpn, por lo que la ip desde la cual se realiza la petición directa viene determinada por la arquitectura de la Red.
__________________
Unset($vida['malRollo']);
  #7 (permalink)  
Antiguo 20/04/2016, 06:20
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Mi script no reconoce mi IP ni país!

Hola

No sé si te servirá esto que no recuerdo de donde lo saqué, pero a mi me sirve para lo que necesito, por si quieres probar:

Código PHP:
Ver original
  1. function ObtenerIP() {
  2.     if (isset($_SERVER["HTTP_CLIENT_IP"])) {
  3.         return $_SERVER["HTTP_CLIENT_IP"];
  4.     } elseif (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
  5.         return $_SERVER["HTTP_X_FORWARDED_FOR"];
  6.     } elseif (isset($_SERVER["HTTP_X_FORWARDED"])) {
  7.         return $_SERVER["HTTP_X_FORWARDED"];
  8.     } elseif (isset($_SERVER["HTTP_FORWARDED_FOR"])) {
  9.         return $_SERVER["HTTP_FORWARDED_FOR"];
  10.     } elseif (isset($_SERVER["HTTP_FORWARDED"])) {
  11.         return $_SERVER["HTTP_FORWARDED"];
  12.     } else {
  13.         return $_SERVER["REMOTE_ADDR"];
  14.     }
  15. }
  16.  
  17. $ip = ObtenerIP();
  18. echo $ip;

Espero que te sirva...
  #8 (permalink)  
Antiguo 22/09/2016, 20:40
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
De acuerdo Respuesta: Mi script no reconoce mi IP ni país!

Perdón por responder tan tarde. Resulta que la IP no era reconocida porque el servidor estaba impidiendo explícitamente que cualquier script reconociera la ip del cliente.


Así que solucioné la cosa dando un rodeo. En un host B (uno que no tuviera la restricción que sí tenía el host A), subí un script que detectara la ip del cliente. Ahora, desde el host A llamé el script del host B para que reconociera la ip del cliente.

Esto que digo es muy, pero muy a grandes rasgos, ya que la cosa se complica un poquillo más.

Saludos!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:54.