Foros del Web » Programando para Internet » PHP »

no detecta ip

Estas en el tema de no detecta ip en el foro de PHP en Foros del Web. hola tengo instalado appserv. la cual tengo una web conectada a internet con appserv y no-ip el problema es que cuando quiero detectar el ip ...
  #1 (permalink)  
Antiguo 01/08/2006, 10:15
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 19 años, 1 mes
Puntos: 2
no detecta ip

hola tengo instalado appserv.

la cual tengo una web conectada a internet con appserv y no-ip

el problema es que cuando quiero detectar el ip del visitante para hacer un contador.

siempre me da el valor de 127.0.0.1

cual sera el problema??

ayuda por favor
__________________
DJJJ
  #2 (permalink)  
Antiguo 01/08/2006, 10:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Tu servicio de DNS dinámico no te ofrece ese "fordward" al parecer para que obtengas tu IP del cliente conectado .. (tampoco te lo puedo asegurar .. no uso ese tipo de servicios).

A todo esto .. que código usas?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 01/08/2006, 11:07
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 19 años, 1 mes
Puntos: 2
el codigo que uso :

hola cluster, gracias por contestar

el codigo que uso es

Código PHP:
function detectar_ip()
    {
        if(!empty(
$_SERVER['HTTP_X_FORWARDER_FOR']))
            
$ip $_SERVER['HTTP_X_FORWARDER_FOR'];

        elseif(!empty(
$_SERVER['HTTP_VIA']))
            
$ip $_SERVER['HTTP_VIA'];

        elseif(!empty(
$_SERVER['REMOTE_ADDR']))
            
$ip $_SERVER['REMOTE_ADDR'];

        else
            
$ip 'Desconocida';

       }

echo 
$ip;
?> 
ahora lo que yo no se si tendra que ver con la configuracion de apache o de php.ini
__________________
DJJJ
  #4 (permalink)  
Antiguo 01/08/2006, 11:09
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 19 años, 1 mes
Puntos: 2
tu te refieres a dns del no-ip o al proveedor de internet mio?

porque si es por el no-ip. tambien probe poniendo directamente la ip dinamica que tengo

y hace lo mismo
__________________
DJJJ
  #5 (permalink)  
Antiguo 01/08/2006, 12:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por DJJJ
porque si es por el no-ip. tambien probe poniendo directamente la ip dinamica que tengo

y hace lo mismo
Me refiero al DNS dinámico que usas ... (no a tu conexión a internet con IP dinámica).

De todas formas .. haz una prueba .. que obtienes en?:
$_SERVER['REMOTE_ADDR']

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 01/08/2006, 21:18
 
Fecha de Ingreso: octubre-2005
Mensajes: 407
Antigüedad: 19 años, 1 mes
Puntos: 2
tienes razon

con el no-ip me da 127.0.0.1

ingresando la ip dinamica me da bien

gracias cluster, te quiero felicitar por todo el aporte y el tiempo que te tomas para ayudarnos

saludos

p.d.:

otra cosa mira tengo el mismo problema con una compu (a) que recibe internet del moden
en la compu (b) comparto internet y ademas desde la compu (a ) redirecciono el puerto 80

para que la compu (b) que tengo instalado appserv

sea como servidor

el problema es que cuando quiero detectar el ip

me dice 192.168.0.1 que es el de la compu a

eso pasa siempre

hay alguna forma de solucionarlo??
__________________
DJJJ
  #7 (permalink)  
Antiguo 02/08/2006, 03:06
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 20 años
Puntos: 1
te dejo una que uso yo
Código PHP:
function optieneIP()
{
    
// Mira proxy
    
$ip="";
    if (isset(
$_SERVER["HTTP_X_FORWARDED_FOR"])){
         
$ips=preg_split("/[\s,]+/"$_SERVER["HTTP_X_FORWARDED_FOR"]);
         foreach (
$ips as $tempip){
             
$ip=$tempip;
            
// Comprobacion para evitar IPs privadas.
            
if ((strncmp($ip,'10.',3) == 0)    || (strncmp($ip,'192.168.',8) == 0) || (strncmp($ip,'172.16.',7) == 0) ||
                (
strncmp($ip,'172.17.',7) == 0) || (strncmp($ip,'172.18.',7) == 0) || (strncmp($ip,'172.19.',7) == 0) ||
                (
strncmp($ip,'172.20.',7) == 0) || (strncmp($ip,'172.21.',7) == 0) || (strncmp($ip,'172.22.',7) == 0) ||
                (
strncmp($ip,'172.23.',7) == 0) || (strncmp($ip,'172.24.',7) == 0) || (strncmp($ip,'172.25.',7) == 0) ||
                (
strncmp($ip,'172.26.',7) == 0) || (strncmp($ip,'172.27.',7) == 0) || (strncmp($ip,'172.28.',7) == 0) ||
                (
strncmp($ip,'172.29.',7) == 0) || (strncmp($ip,'172.30.',7) == 0) || (strncmp($ip,'172.31.',7) == 0) )
             {
              continue;
             }
             break;
         }
    
         
// Comprobacion para evitar IPs privadas.
         
if ((strncmp($ip,'10.',3) == 0)    || (strncmp($ip,'192.168.',8) == 0) || (strncmp($ip,'172.16.',7) == 0) ||
             (
strncmp($ip,'172.17.',7) == 0) || (strncmp($ip,'172.18.',7) == 0) || (strncmp($ip,'172.19.',7) == 0) ||
             (
strncmp($ip,'172.20.',7) == 0) || (strncmp($ip,'172.21.',7) == 0) || (strncmp($ip,'172.22.',7) == 0) ||
             (
strncmp($ip,'172.23.',7) == 0) || (strncmp($ip,'172.24.',7) == 0) || (strncmp($ip,'172.25.',7) == 0) ||
             (
strncmp($ip,'172.26.',7) == 0) || (strncmp($ip,'172.27.',7) == 0) || (strncmp($ip,'172.28.',7) == 0) ||
             (
strncmp($ip,'172.29.',7) == 0) || (strncmp($ip,'172.30.',7) == 0) || (strncmp($ip,'172.31.',7) == 0) ){
              
$ip=$_SERVER["REMOTE_ADDR"];
         }
    }else{
        
$ip=$_SERVER["REMOTE_ADDR"];
    }
    
    return 
$ip;
}*/ 
__________________
ALOZORRO v5.0 (ahora en .es)
  #8 (permalink)  
Antiguo 02/08/2006, 06:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por DJJJ
con el no-ip me da 127.0.0.1

ingresando la ip dinamica me da bien

gracias cluster, te quiero felicitar por todo el aporte y el tiempo que te tomas para ayudarnos

saludos

p.d.:

otra cosa mira tengo el mismo problema con una compu (a) que recibe internet del moden
en la compu (b) comparto internet y ademas desde la compu (a ) redirecciono el puerto 80

para que la compu (b) que tengo instalado appserv

sea como servidor

el problema es que cuando quiero detectar el ip

me dice 192.168.0.1 que es el de la compu a

eso pasa siempre

hay alguna forma de solucionarlo??
El detalle está que si pasas por un proxy: HTTP_X_FORWARDER_FOR te da la IP del cliente que origina la petición .. si no pasas por un proxy en REMOTE_ADDR tienes la IP del cliente (o al reves .. ya no sé) .. en fin todo esto es parte del protocolo HTTP (que tendrías que "estudiar") .. PHP sólo te pone a tu disposición en $_SERVER esos datos si existen ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 12:14.