Hola, hace algún tiempo me pasó lo mismo y en una búsqueda en Google obtuve
un código que resolvía este problema, funciona correctamente. Te va en
adjunto, la ip se coge en php y luego debes insertarla en tu tabla.

 

Saludos,

Ing. Esneiker Enriquez Cabrera
      Esp. B en Ciencias Informáticas

Desoft en Ciego de Ávila. Joaquín de Aguero esq. Calle 2. Ciego de Ávila.
Cuba.
Telf.: 53 33 22 8971, email.: [email protected]

 

De: [email protected]
[mailto:[email protected]] En nombre de jvenegasperu .
Enviado el: miércoles, 21 de agosto de 2013 4:11
Para: Ayuda
Asunto: [pgsql-es-ayuda] direccion ip en tabla de auditoria

 

hola a todos e seguido este blog para implementar una auditoria de tablas 

http://www.swapbytes.com/2010/09/como-implementar-auditoria-simple-en.html

bueno todo funciona bien se crea una tabla para la auditoria y luego dentro
se van guardando las acciones de insertar borrar actualizar de cada tabla

pero quisiera agregar el campo direccion IP a esta tabla 

¿Como puedo capturar la ip de la que se conecta el usuario a la BD?

como se haria esto cuando los usuarios se conectan desde una pagina web a la
BD

 

les agradezco la ayuda que me puedan brindar



-- 

José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: [email protected]
          [email protected]

PHP Spanish Docs translator member.

http://www.php.net/manual/es/index.php


-- 
Este mensaje ha sido analizado por  <http://www.mailscanner.info/>
MailScanner 
en busca de virus y otros contenidos peligrosos, 
y se considera que está limpio. 

 

__________ Información de ESET NOD32 Antivirus, versión de la base de firmas
de virus 8690 (20130815) __________

 

ESET NOD32 Antivirus ha comprobado este mensaje.

 

http://www.eset.com


-- 
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.

<?
public function obtenerIpUsuario()
    {     
        if( @$_SERVER['HTTP_X_FORWARDED_FOR'] != '' )
       {
          $client_ip =
             ( !empty($_SERVER['REMOTE_ADDR']) ) ?
                @$_SERVER['REMOTE_ADDR']
                :
                ( ( !empty($_ENV['REMOTE_ADDR']) ) ?
                   @$_ENV['REMOTE_ADDR']
                   :
                   'Ip desconocida' );

          // 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']
                   :
                   "Ip desconocida" );
       }

       return $client_ip;

    }
        ?>
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a