Foros del Web » Programando para Internet » PHP »

IP de un computador

Estas en el tema de IP de un computador en el foro de PHP en Foros del Web. hola amigos, disculpen por molestarlos tanto, es que tengo que hacer un sistema en php donde yo toma la ip del computador de donde entro ...
  #1 (permalink)  
Antiguo 09/06/2009, 17:39
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
IP de un computador

hola amigos, disculpen por molestarlos tanto, es que tengo que hacer un sistema en php donde yo toma la ip del computador de donde entro a la pagina, la ip del computador, no la ip del servidor ni la de la web.

bueno esto es para una empresa donde cada sala de computadores tiene ips cada equipo entonces necesito saber de que computador ingresaron con la ip para saber en que sala esta, claro esta que las salas tienen un rango de ip.

hay forma de hacer esto con php?

a y teniendo en cuenta que el internet que llega a estas salas llega por proxy no se si tenga que ver, muchas gracias por ayudarme.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #2 (permalink)  
Antiguo 09/06/2009, 18:39
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: IP de un computador

Yo hice una función pero depende de tu conexion si te funcionará o no.. hay veces que no te detecta la IP de cada PC sino una IP global, como es el caso de los cybers y demás que tienen ese problema..

Código PHP:
function getIP() {
    if (isset(
$_SERVER['HTTP_X_FORWARDED_FOR'])) {
       
$IP $_SERVER['HTTP_X_FORWARDED_FOR'];
    } 
    elseif (isset(
$_SERVER['HTTP_VIA'])) {
       
$IP $_SERVER['HTTP_VIA'];
    } 
    elseif (isset(
$_SERVER['REMOTE_ADDR'])) {
       
$IP $_SERVER['REMOTE_ADDR'];
    }
    else { 
       
$IP "00.0.00.0.0"//NO IP
    
}
    
    return 
$IP;


Saludos.
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #3 (permalink)  
Antiguo 09/06/2009, 18:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: IP de un computador

Si llega por un proxy no es posible conocer la IP real ya que ese es el funcionamiento del Proxy, a menos que que el Proxy te informe por cual IP esta haciendo el forwarding (cabecera HTTP_X_FORWARDED_FOR).

Saludos.
  #4 (permalink)  
Antiguo 09/06/2009, 18:50
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: IP de un computador

Exactamente.. por ello es la primera opción en la función.

Suerte!
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #5 (permalink)  
Antiguo 09/06/2009, 21:34
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: IP de un computador

pero osea la ip que quiero conocer es la que se le pone manual mente a cada pc, osea el computador de la sala x tiene la ip 192.168.5.3 por ejemplo y el internet le llega por 192.168.254.247 la ip que quiero conocer es 192.168.5.3 la del computador la que se le pone fija a cada pc. si me explico mejor?
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #6 (permalink)  
Antiguo 09/06/2009, 21:42
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: IP de un computador

Cita:
Iniciado por miguec04 Ver Mensaje
pero osea la ip que quiero conocer es la que se le pone manual mente a cada pc, osea el computador de la sala x tiene la ip 192.168.5.3 por ejemplo y el internet le llega por 192.168.254.247 la ip que quiero conocer es 192.168.5.3 la del computador la que se le pone fija a cada pc. si me explico mejor?
No es posible. Los IP locales no pueden ser vistos en el internet, todo el trafico sale por 1 solo IP (en la mayoria de los casos) y esa es a la unica direccion a la que puedes acceder.
De esto se encarga NAT (bueno, PAT de hecho).
http://es.wikipedia.org/wiki/NAT

A menos que, tu servidor este en la misma red, no podras hacer lo que deseas.

Por cierto, el rango 192.168.X.X, es privado :P
  #7 (permalink)  
Antiguo 09/06/2009, 22:13
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: IP de un computador

si pero esos datos son solo de ejemplo no son reales, pero mmmm osea

cada usuario cuando habra la pagina va a abrir una aplicacion, donde se van a loguear entonces yo quiero saber desde que computador estan abriendo esta aplicacion para darle este valor a un campo para guardarlo en la base de datos, entonces despues hacer las validaciones que necesito, pues muchas gracias de todas formas por la ayuda que me dieron, aunque voy a seguir buscando, estoy casi 100% seguro de que hay una forma.
Gracias.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #8 (permalink)  
Antiguo 09/06/2009, 22:14
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: IP de un computador

Cita:
Iniciado por miguec04 Ver Mensaje
si pero esos datos son solo de ejemplo no son reales, pero mmmm osea

cada usuario cuando habra la pagina va a abrir una aplicacion, donde se van a loguear entonces yo quiero saber desde que computador estan abriendo esta aplicacion para darle este valor a un campo para guardarlo en la base de datos, entonces despues hacer las validaciones que necesito, pues muchas gracias de todas formas por la ayuda que me dieron, aunque voy a seguir buscando, estoy casi 100% seguro de que hay una forma.
Gracias.
Como te dije, a menos que el servidor PHP este en la red, no habra forma de saber el IP local de una maquina (ese de red que uno pone).

No es una restricción de PHP, mas bien del protocolo TCP/IP.
  #9 (permalink)  
Antiguo 09/06/2009, 22:18
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
claro el servidor esta en la red, en una intranet de una empresa son varias salas con 30 a 40 computadores cada una, y si el servidor esta dentro de la intranet, pues es el que le reparte a los demas.

ya encontre parte de la solucion ahora si me bota la ip del pc pero ahora tengo otro problemitaaaaaaaaaaaaa primero. este es el codigo

<?php $ipaddress = gethostbyname($_SERVER['HTTP_X_FORWARDED_FOR']); ?>

pero el problema es que me esta votando este error:

Notice: Undefined index: HTTP_X_FORWARDED_FOR in C:\Archivos de programa\EasyPHP 3.0\www\registro\profesores\index.php on line 2

gracias por colaborarme
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co

Última edición por GatorV; 10/06/2009 a las 19:52
  #10 (permalink)  
Antiguo 10/06/2009, 17:53
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Respuesta: IP de un computador

Cita:
Iniciado por miguec04 Ver Mensaje
ya encontre parte de la solucion ahora si me bota la ip del pc pero ahora tengo otro problemitaaaaaaaaaaaaa primero. este es el codigo

<?php $ipaddress = gethostbyname($_SERVER['HTTP_X_FORWARDED_FOR']); ?>

pero el problema es que me esta votando este error:

Notice: Undefined index: HTTP_X_FORWARDED_FOR in C:\Archivos de programa\EasyPHP 3.0\www\registro\profesores\index.php on line 2

gracias por colaborarme

Si te ponés a mirar un poco,
Código PHP:
HTTP_X_FORWARDED_FOR 
está utilizado en la función que te pasé..

y como bien te dijo GatorV
Cita:
Si llega por un proxy no es posible conocer la IP real ya que ese es el funcionamiento del Proxy, a menos que que el Proxy te informe por cual IP esta haciendo el forwarding (cabecera HTTP_X_FORWARDED_FOR).

Saludos.
si el proxy no te lo informa te va a ser imposible detectarla.

Saludos
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #11 (permalink)  
Antiguo 10/06/2009, 18:23
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: IP de un computador

con ese codigo la detecte ya me sale la ip de cualquier equipo de la red, el problema es que ademas de mostrarme la ip me muestra ese error y no se como ocultarlo por lo menos porque la ip ya me sale dependiendo del equipo en que me encuentre en la red.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #12 (permalink)  
Antiguo 10/06/2009, 18:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: IP de un computador

escribe entonces antes de la funcion @gethostbyname($_SERVER['HTTP_X_FORWARDED_FOR'])
  #13 (permalink)  
Antiguo 10/06/2009, 19:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: IP de un computador

No es un "error", el problema es que la llave HTTP_X_FORWARDED_FOR no existe en tu array $_SERVER, para evitar el error usa un condicional:
Código php:
Ver original
  1. if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  2.        $ip = gethostbyaddress($_SERVER['HTTP_X_FORWARDED_FOR']);
  3. }

Saludos.
  #14 (permalink)  
Antiguo 15/06/2009, 22:52
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: IP de un computador

uy gastor cuando venga a colombia pregunte por mi home y le presento a todas mis amigas jejejejejeje y le invito a tomarce unas cervesitas o a que conosca todas la maravillas que hay aqui, empezando por sus carnavales. Muchas Gracias
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
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 20:55.