INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 
[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]


PHP Guardar IP de Visitantes [Ayuda]
Ir a página 1, 2  Siguiente
 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Webmasters
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Dom Ene 24, 2010 7:29 pm    Título del mensaje: PHP Guardar IP de Visitantes [Ayuda] Responder citando
He encontrado varios codigos en internet, de como guardar la IP real de los visitantes. En realidad me sirve mas la idea de "mostrarla" xq eso de guardarla es facil.
A utds cual les parece el mejor, para saltear los proxy?

Código:

if (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]))
  {
    $nip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
    $array = split(", ", $nip);
    $ip = $array[0];
    $host = @gethostbyaddr($ip);
    $ip = $nip;
  }
  else
  {
    $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
    $host = @gethostbyaddr($ip);
   
  }


Código:
<?php

function getIP() {
    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 = "unknown";
    }
   
    echo "Tu IP es: $ip";
}

?>


Código:
if ($_SERVER) {
   if ( $_SERVER["HTTP_X_FORWARDED_FOR"] ) {
       $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
   } elseif ( $_SERVER["HTTP_CLIENT_IP"] ) {
       $realip = $_SERVER["HTTP_CLIENT_IP"];
   } else {
       $realip = $_SERVER["REMOTE_ADDR"];
   }
} else {
    if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
       $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
    } elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
       $realip = getenv( 'HTTP_CLIENT_IP' );
    } else {
       $realip = getenv( 'REMOTE_ADDR' );
    }
}


Código:
function getRealIP()
{

   if( $_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
   {
      $client_ip =
         ( !empty($_SERVER['REMOTE_ADDR']) ) ?
            $_SERVER['REMOTE_ADDR']
            :
            ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
               $_ENV['REMOTE_ADDR']
               :
               "unknown" );

      // 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('[, ]', $_SERVER['HTTP_X_FORWARDED_FOR']);

      reset($entries);
      while (list(, $entry) = each($entries))
      {
         $entry = trim($entry);
         if ( preg_match("/^([0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)/", $entry, $ip_list) )
         {
            // http://www.faqs.org/rfcs/rfc1918.html
            $private_ip = array(
                  '/^0\\./',
                  '/^127\\.0\\.0\\.1/',
                  '/^192\\.168\\..*/',
                  '/^172\\.((1[6-9])|(2[0-9])|(3[0-1]))\\..*/',
                  '/^10\\..*/');

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

            if ($client_ip != $found_ip)
            {
               $client_ip = $found_ip;
               break;
            }
         }
      }
   }
   else
   {
      $client_ip =
         ( !empty($_SERVER['REMOTE_ADDR']) ) ?
            $_SERVER['REMOTE_ADDR']
            :
            ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
               $_ENV['REMOTE_ADDR']
               :
               "unknown" );
   }

   return $client_ip;

}


Fuentes:
http://www.forosdelweb.com/f18/ip-264149/
http://notasweb.com/articulo/php/obtener-ip-real-en-php-evitando-proxy.html
http://www.eslomas.com/index.php/archives/2005/04/26/obtencion-ip-real-php/
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
BenJa - KuMo
Yo soy el foro
Yo soy el foro


Registrado: 14 Ago 2006
Mensajes: 3489
Ubicación: España

MensajePublicado: Mie Ene 27, 2010 5:45 pm    Título del mensaje: Responder citando
con el 2º código te sobra para hacer lo que quieres.
_________________

Web de Metal Slug y Kof!!

Web en Español de Project Zero!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Lun Feb 08, 2010 12:37 am    Título del mensaje: Responder citando
xD okis


che xq acaso no me deja enviar el IP que encontre por la funcion mail() ?

lo toy poniendo como cualqier otro mensaje dentro, y no se envia 0.0

Una onda asi toy haciendo

Código:

$ip=getIP();

$msg .="IP: ".$ip."\r\n"; // IP DEL CLIENTE
$msg .="Nombre: ".$nombre."\r\n"; // Nombre
$msg .="Apellido: ".$apellido."\r\n"; // Nombre
mail($destino, $asunto, $msg, $headers);



:F help?
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
BenJa - KuMo
Yo soy el foro
Yo soy el foro


Registrado: 14 Ago 2006
Mensajes: 3489
Ubicación: España

MensajePublicado: Lun Feb 08, 2010 6:48 pm    Título del mensaje: Responder citando
si no va la función mail, es por que el server la ha cortado...
_________________

Web de Metal Slug y Kof!!

Web en Español de Project Zero!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo Visitar sitio web del autor MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Lun Feb 08, 2010 6:59 pm    Título del mensaje: Responder citando
La funcion mail anda correctamente, lo unico que digo es que no me envia el dato de "IP", los demas datos los envia, el campo IP lo recibo como vacio
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Dragon-Black
Yo soy el foro
Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.

MensajePublicado: Lun Feb 08, 2010 7:08 pm    Título del mensaje: Responder citando
has probado imprimiendo la variable en pantalla y luego enviarla ¿? echo $ip;
_________________
Cuando bebas agua, recuerda la fuente


http://Blog.onZeroPK.es
Folow me on Twitter

Joder, It's My life !!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Lun Feb 08, 2010 8:38 pm    Título del mensaje: Responder citando
jeje si pero nu qeria q se viera :F
y esta es la idea funcando :F

<input type="hidden" name="ip" value="<?$ip=getIP()?>">

se les ocurre alguna forma dif. q no me lo imprima asi como asi en el codigo de fuente?
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Dragon-Black
Yo soy el foro
Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.

MensajePublicado: Lun Feb 08, 2010 11:17 pm    Título del mensaje: Responder citando
No me refería a que lo imprimieras, si no a que tu funcion, funcionara ok, donde lo estas probando..
_________________
Cuando bebas agua, recuerda la fuente


http://Blog.onZeroPK.es
Folow me on Twitter

Joder, It's My life !!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
xtremer
Yo soy el foro
Yo soy el foro


Registrado: 22 Dic 2006
Mensajes: 1113

MensajePublicado: Mar Feb 09, 2010 3:55 am    Título del mensaje: Responder citando
Ah :F

No entendi entonces xD
Como puedo hacer para guardar esa ip sin que se vea en el codigo de fuente?
_________________

GameServers & WebHosting Provider
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
Dragon-Black
Yo soy el foro
Yo soy el foro


Registrado: 19 May 2006
Mensajes: 2974
Ubicación: Pregúntale a tu servidor de DNS.

MensajePublicado: Mar Feb 09, 2010 4:45 am    Título del mensaje: Responder citando
Hasle hecho al mensaje antes de pasarle al mail(), solo por testear, y fijate si la IP aparece en el hecho
_________________
Cuando bebas agua, recuerda la fuente


http://Blog.onZeroPK.es
Folow me on Twitter

Joder, It's My life !!!!
Volver arriba
Ver perfil del usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Webmasters Todas las horas están en GMT + 1 Hora
Ir a página 1, 2  Siguiente
Página 1 de 2
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En General >> ayuda para descargar vista.
En Webmasters >> [AYUDA] PHP SUBMIT?
En Webmasters >> [AYUDA] PHP SCRIPT
En General >> No puedo recuperar mi documentos. Ayuda
En Hardware >> Ayuda porfavor eleccion de pc a medid...
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz