Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/10/2012, 07:04
Avatar de vargasrenee
vargasrenee
 
Fecha de Ingreso: junio-2008
Mensajes: 32
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: codigo para mostrar la IP local, IP pública, la IP del proxy y el hostname

Done!!!

Al final el codigo para mostrar la IP local, IP pública, la IP del proxy y el hostname de la IP pública funcionando en php5 quedo como sigue

Código PHP:
<?php

# codigo que intenta mostrar la IP local, IP pública, la IP del proxy y el hostname de la IP pública

if($_SERVER["HTTP_X_FORWARDED_FOR"])
{
    if(
$pos=strpos($_SERVER["HTTP_X_FORWARDED_FOR"]," "))
    {
        echo 
"IP local: ".substr($_SERVER["HTTP_X_FORWARDED_FOR"],0,$pos)." - IP Pública: ".substr($_SERVER["HTTP_X_FORWARDED_FOR"],$pos+1);
        
$hostlocal=substr($_SERVER["HTTP_X_FORWARDED_FOR"],$pos+1);
    }else{
        echo 
"&ippublica=".$_SERVER["HTTP_X_FORWARDED_FOR"];
        
$hostlocal=$_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    if(
$_SERVER["REMOTE_ADDR"])
        echo 
" - Proxy: ".$_SERVER["REMOTE_ADDR"];
}else{
    echo 
"&ippublica=".$_SERVER["REMOTE_ADDR"];
    
$hostlocal=$_SERVER["REMOTE_ADDR"];
    if(
$hostlocal!=$_SERVER["REMOTE_ADDR"])
        echo 
" - Hostname: ".$hostlocal;
}
$hostname gethostbyaddr ($_SERVER['REMOTE_ADDR']);
if(
$hostlocal!=$hostname)
    echo 
"&hostname=".$hostname;

   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 "Desconocido"; }
   echo 
"&ip=" $ip "&dns=".$_SERVER['HTTP_USER_AGENT'];
?>
el cambio estuvo en:
Código PHP:
$hostname=gethostbyaddr($hostlocal); 
por

Código PHP:
$hostname gethostbyaddr($_SERVER['REMOTE_ADDR']); 
Ademas y grave error de mi parte, fue no checar primero el php.ini, el cual tenia activado el register_globals. Se soluciono eliminando dicho archivo de la carpeta que contiene el php

Saludos
G.

pd. por cierto, cómo se hace para que el script que se muestra aparezca con número de línea y con sombras intercaladas, tal como lo ha hecho @galexisg en sus ejemplos.