lunes, 30 de julio de 2012

saber la ip del visitante en php

llamar esta clase con un  include...  donde va el pies de pagina...

este el codigo va en una clase aparte... yo la eh llamado footer.inc  copie y lo pega esta 100% en funcionamiento..

<div id="footer">
<p>Copyright &copy;&copy;<?php $anInicio ?>
<?php ini_set('date.timezone', 'America/Montevideo');
$anInicio = "";
$anActual = date ('Y');
if ($anActual == $anInicio) {
  echo $anInicio;
  }
else {
 echo " {$anActual}";
 }
?>
 | Política de Privacidad |</p>
<p>Disenado por: JRondon |
<?php
if(isset($_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 = preg_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" );
   }
?>
<?php
if(!empty($client_ip))
{
echo  $client_ip;
}
else
{
echo 'Imposible obtener tu direccion Ip';
}
//saber la ip del visitante
$archivo = "registroIPdevistante.txt"; //Esto creará el Archivo donde guarda las ips
$manejador = fopen($archivo,"a") or die("Imposible abrir el archivo\n"); //Esto abre el archivo
$fecha= date('d/m/Y H:i:s',time())."|";
$fecha.="\r\n";
fwrite($manejador,$client_ip.' '.$fecha ); //Esto muestra la ip y la fecha en el archivo
fclose($manejador);
?>
</p>
</div>


No hay comentarios:

Publicar un comentario

Bienvenido