jueves, 9 de julio de 2009

Saber u obtener la IP del que entra en mi web con PHP

Primeramente pongo el código y luego lo explico.

<?
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != "")
{
$IP_REAL = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; // Muestra la IP real del usuario, es decir, la Pública
$IP_PROXY = $HTTP_SERVER_VARS["REMOTE_ADDR"]; // Muestra la IP de un posible Proxy
}
else
{
$IP_REAL = $HTTP_SERVER_VARS["REMOTE_ADDR"]; // En caso de que no exista un Proxy solo mostrara la IP Publica del visitante
}
?>


Primeramente veremos si viene de un proxy, si es asi. buscaremos la ip mediante $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; porque si viene de un proxy, desde $HTTP_SERVER_VARS["REMOTE_ADDR"]; que de donde se saca normalmente la IP tendrá la ip del proxy y eso no es lo que queremos., finalmente si no viene de un proxy simplemente será estará en $HTTP_SERVER_VARS["REMOTE_ADDR"];

La IP en el código se guarda en $IP_REAL

2 comentarios:

  1. eso me devuelve la IP q posee la pc q ingresa a mi web. Consulta: para saber la region, el lugar, la casa o la ruta general para localizar la pc q esta ingresando a nuestra web, como podria proceder? la idea es localizar el lugar o zona (calle, barrio, ciudad..etc..)o lo q se pueda averiguar de quien esta ingresando a mi pc...asi como los datos de la pc: browser q utiliza, sistema operativo, caracteristicas generales de la pc, etc..lo q se pueda...Bueno, espero no abusar.
    Respecto de tu scripts, lo voy a emplear ni bien termine mi pagina, voy a los golpes aprendiendo, pero a golpes se hace el hombre....Saludos y gracias.

    Cristian

    ResponderEliminar
  2. Eso que me estas diciendo a parte del browser (navegador) no se puede a no ser que sea pagando.

    Es lógico que no te den todos los datos del cliente, no sería muy legal jaja

    ResponderEliminar