Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cambio de ip pública

Estas en el tema de Cambio de ip pública en el foro de PHP en Foros del Web. Buenas, quisiera crear un script para detectar si se ha cambiado mi ip ya que la tengo dinámica. Estoy probando con todas las variables $_SERVER ...
  #1 (permalink)  
Antiguo 16/11/2020, 09:43
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Cambio de ip pública

Buenas, quisiera crear un script para detectar si se ha cambiado mi ip ya que la tengo dinámica. Estoy probando con todas las variables $_SERVER y me devuelve ::1, por estar en local. He mirado en phpinfo() y no la veo.
Alguien sabe como obtenerla?
Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 16/11/2020, 10:50
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 8 meses
Puntos: 171
Respuesta: Cambio de ip pública

Quieres saber tu IP publica que te asigna tu proveedor de internet o tu IP en red local?

Código PHP:
Ver original
  1. echo $_SERVER['REMOTE_ADDR']; //Obtienes IP del proveedor
  2.  
  3.  // Obtienes el nombre en red
  4. $IP = $_SERVER['REMOTE_ADDR'];      
  5. $computerName = gethostbyaddr($IP);
  6. echo $computerName;
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 16/11/2020, 13:21
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Respuesta: Cambio de ip pública

Gracias petit89.
Quiero saber mi ip pública, la que me asigna el proveedor, des de la red local.

La variable $_SERVER['REMOTE_ADDR'] ya la había probado y devuelve ::1, porqué estoy en red local.

Te cuento lo que quiero. Tengo montado una VPN server a un cliente que tiene ip dinámica, o sea, que puede cambiar orqué se va la corriente, o bien porqué el proveedor la cambia y entonces no me funcionaría.

Y lo que quiero es cada mañana comprobar la ip, si ha cambiado enviaré un correo a los usuarios para notificarles la nueva ip.

Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #4 (permalink)  
Antiguo 16/11/2020, 19:03
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 6 meses
Puntos: 120
Respuesta: Cambio de ip pública

Cita:
Iniciado por mblascog Ver Mensaje
Gracias petit89.
Quiero saber mi ip pública, la que me asigna el proveedor, des de la red local.

La variable $_SERVER['REMOTE_ADDR'] ya la había probado y devuelve ::1, porqué estoy en red local.

Te cuento lo que quiero. Tengo montado una VPN server a un cliente que tiene ip dinámica, o sea, que puede cambiar orqué se va la corriente, o bien porqué el proveedor la cambia y entonces no me funcionaría.

Y lo que quiero es cada mañana comprobar la ip, si ha cambiado enviaré un correo a los usuarios para notificarles la nueva ip.

Gracias
tienes 2 opciones,
  1. Montarte un servidor propio, que lo unico que hara es devolver la IP, al ser consultada
  2. usar un servicio externo que te devuelva la ip publica

por ejemplo puedes usar esta web que te devolvera la IP publica en formato JSON

https://httpbin.org/ip

solo tendrias que hacer el uso de CURL

o bien a la vieja escuela, usar linea de comandos para obtener la ip publica, como TRACER en windows.

o bien OPTAR por un Dominio gratis, y un hosting GRATIS, que lo unico que haria seria redireccionar a la IP con la que estas actualmente, asi evitarias lo de informar a tus usuarios, claro les tendrias que dejar en claro que una vez entren al dominio este les redirigira a la IP

eso en el tema LOW COST, ahora habia otras opciones que los de TPLINK tenian en sus Routers, y tenian tratos con Ciertos Dominios , y la IP del dominio la actualizaban automaticamente.
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #5 (permalink)  
Antiguo 17/11/2020, 01:35
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Respuesta: Cambio de ip pública

Gracias tuadmin,
No pensaba que la cosa sería tan complicada. No conocía curl, ahora ya sí.

Usaré un archivo de lotes, que ejecutaré como tarea programada, con lo siguiente:
- obtener la ip por medio de la web que me has dicho https://httpbin.org/ip
- en un directorio concreto, miraré si existe un fichero con el mismo nombre de la ip
- si existe no hago nada, significa que la ip es la misma
- si no existe, borro el fichero con la ip anterior, y creo uno con la nueva y ejecuto un script php que mande los correos.

Esta es la intención. Voy a por ello.
Gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #6 (permalink)  
Antiguo 17/11/2020, 07:20
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Cambio de ip pública

$ip = file_get_contents("https://api.ipify.org");

Y ahí lo guardas o lo que quieras que compare con otro, que haga sonido, lo que sea
  #7 (permalink)  
Antiguo 17/11/2020, 07:45
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Respuesta: Cambio de ip pública

Nelo07, justo lo quería y mucho más fácil.
Muchísimas gracias
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #8 (permalink)  
Antiguo 18/11/2020, 14:05
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 565
Antigüedad: 22 años, 10 meses
Puntos: 4
Respuesta: Cambio de ip pública

Hola, me he dado cuenta que file_get_contents devuelve la ip donde está alojada la web, yo lo que quería es la ip del cliente. Es posible?

Gracias.
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #9 (permalink)  
Antiguo 19/11/2020, 11:28
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 6 meses
Puntos: 120
Respuesta: Cambio de ip pública

Cita:
Iniciado por mblascog Ver Mensaje
Hola, me he dado cuenta que file_get_contents devuelve la ip donde está alojada la web, yo lo que quería es la ip del cliente. Es posible?

Gracias.
las variables que apache da a php
Código PHP:
$_SERVER['REMOTE_ADDR']; 
Código PHP:
function getUserIP()
{
    
$client  = @$_SERVER['HTTP_CLIENT_IP'];
    
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    
$remote  $_SERVER['REMOTE_ADDR'];

    if(
filter_var($clientFILTER_VALIDATE_IP))
    {
        
$ip $client;
    }
    elseif(
filter_var($forwardFILTER_VALIDATE_IP))
    {
        
$ip $forward;
    }
    else
    {
        
$ip $remote;
    }

    return 
$ip;
}


$user_ip getUserIP();

echo 
$user_ip// Output IP address [Ex: 177.87.193.134] 
recuerda file_get_contents , puede ser usado para conectarse remotamente y obtener informacion, pero eso depende de la configuracion del PHP.ini donde se tiene que habilitar ese comportamiento
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9

Etiquetas: ip, pública, variable
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 07:45.