Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/08/2009, 07:12
subharb
 
Fecha de Ingreso: agosto-2008
Mensajes: 112
Antigüedad: 16 años, 7 meses
Puntos: 0
Ip igual a 0??

Hola chicos, tengo una app y guardo la ip de los usuarios en Hexadecimal. todo iría bien si no fuese porque en algunos casos la ip me sale igual a 0.
¿Cómo puede ser?
Os adjunto la clase que uso para coger la ip y convertirla en hexadecimal.

Código PHP:
class ip
{
    
// Devuelve una cadena de 8 caracteres con la ip codificada en hexadecimal
    
function codificar_ip($ip=''// as string
    
{
        
$aux=array();
        
$ipcod="";
        
        if(empty(
$ip))
            
$ip=$this->real_ip();
            
        
$aux=explode("."$ip);
        
        for(
$i=0;$i<sizeof($aux);$i++)
            
$ipcod.=str_pad(dechex($aux[$i]), 2"0"STR_PAD_LEFT);
            
        return 
$ipcod;
    }

    
// Restaura la ip a partir de la cadena hexadecimal $ipcod
    
function decodificar_ip($ipcod// as string
    
{
        
$ip="";
        for(
$i=0;$i<4;$i++)
            
$ip.=hexdec(substr($ipcod,$i*2,2)).".";
            
        
$ip=substr($ip,0,strlen($ip)-1);
        return 
$ip;
    }
    
    
// Devuelve la ip real del usuario, sin proxys
    
function real_ip() // as string
    
{
        if (
$for getenv('HTTP_X_FORWARDED_FOR')){
            
$afor explode(","$for);
            return 
trim($afor[0]);
        }else
            return 
getenv('REMOTE_ADDR');
    }