Tema: IP falsas
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/02/2008, 04:27
Avatar de bisidem
bisidem
 
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años
Puntos: 0
Re: IP falsas

Cita:
Iniciado por alvlin Ver Mensaje
¿cómo saber si la dirección que te da una persona por la calle es "buena o falsa"? llendo a esa dirección

Depende de lo que necesites, podés hacer un PING a la IP, si responde es "buena".


Ahora, ¿para qué lo necesitás?



Tengo un web, y alguien biene a eya con un ip falso, el otro dia mirando por ai, vi q se podia ponr un codigo html, pero ni idea de dnde, es ste.

#
/**
#
* function ip (void)
#
*
#
* devuelve la IP de un usuario remoto
#
*
#
* return string
#
*/
#
function ip () {
#
$s_hxff = $_SERVER['HTTP_X_FORWARDED_FOR'];
#
$s_ra = $_SERVER['REMOTE_ADDR'];
#
$e_ra = $_ENV['REMOTE_ADDR'];
#
$client_ip = empty($s_ra)?(empty($e_ra)?'unknown':$e_ra):$s_ra;
#

#
if ($s_hxff) {
#
// los proxys van añadiendo al final de esta cabecera
#
// las direcciones ip que van "ocultando". Para localizar la ip real
#
// del usuario se comienza a mirar por el principio hasta encontrar
#
// una dirección ip que no sea del rango privado. En caso de no
#
// encontrarse ninguna se toma como valor el REMOTE_ADDR
#

#
$entries = split('[, ]', $s_hxff);
#

#
reset($entries);
#

#
while (list(, $entry) = each($entries)) {
#
$entry = trim($entry);
#

#
if (preg_match('/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/', $entry, $client_ip)) {
#
// http://www.faqs.org/rfcs/rfc1918.html
#
$private_ip = array(
#
'/^(00)?0\./',
#
'/^127\.(00)?0\.(00)?0\.(00)?1/',
#
'/^192\.168\..*/',
#
'/^172\.0?((1[6-9])|(2[0-9])|(3[0-1]))\..*/',
#
'/^0?10\..*/'
#
);
#

#
$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
#

#
if ($client_ip != $found_ip) {
#
$client_ip = $found_ip;
#
break;
#
}
#
}
#
}
#
}
#

#
return addslashes($client_ip);

desde ya gracias