Re: Seguridad en tablas

From: Andres Ortiz <ing(dot)andresortiz(at)gmail(dot)com>
To: Jaime Casanova <systemguards(at)gmail(dot)com>
Cc: Manuel Sugawara <masm(at)fciencias(dot)unam(dot)mx>, Rommel Oramas <rommel(dot)oramas(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Seguridad en tablas
Date: 2005-12-02 16:59:18
Message-ID: 4f5cefbe0512020859s5abd3648k@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Listo Jaime, andaba perdido pero ya entendí la idea que planteaste y la puse
en practica, funciona perfectamente y aquí todos los ingenieros que en la
mayoría somos jóvenes recién egresados estamos anonadados con la facilidad
que se logro revolver esta situación de agujero de seguridad que teniamos,
una vez mas te agradezco muchísimo por tu colaboración y ya estamos
trabajando para perfeccionar tu sugerencia que al final termino salvándonos
el pellejo.

Graciasss.
Andres Ortiz
Imagine Technologies
Bogotá (Colombia)

El día 2/12/05, Jaime Casanova <systemguards(at)gmail(dot)com> escribió:
>
> > El 2/12/05, Jaime Casanova<systemguards(at)gmail(dot)com> escribió:
> > > <Limpiando... borrando conversaciones enredadas>
> > >
> > > On 12/2/05, Andres Ortiz <ing(dot)andresortiz(at)gmail(dot)com> wrote:
> > > > El unico campo que me interesa proteger es el que tiene el nombre de
> > > > usuario, y si hay alguna manera de que al vincular las tablas de
> > > > PostgreSQL via ODBC en Access no me lo permita o necesite de un
> > > > usuario o contraseña para logralo.
> > > >
> > >
> > > OK Andres, Manuel y Alvaro tienen toda la razon (al parecer algo se
> > > enredo en mi cerebro y no me dejo pensar claramente, seria PHP?)...
> > >
> > > Aunque Alvaro y Manuel aconsejan que crees una vista yo solo crearia
> > > una nueva tabla y una regla, algo asi:
> > >
> > > CREATE TABLE sanguijuelas (
> > > usuario tipo_dato not null
> > > );
> > >
> > >
> > > CREATE RULE no_a_las_sanguijuelas AS ON UPDATE TO tabla
> > > WHERE NEW.usuario <> OLD.usuario
> > > DO INSTEAD INSERT INTO sanguijuelas VALUES (NEW.usuario);
> > >
> > >
> > > Con la regla evitas que modifiquen la tabla cuando el cambio que hacen
> > > incluye cambiar el usuario y ademas dejas un registro de que usuario
> > > quizo hacer eso en la tabla sanguijuelas.
> > >
> > >
> On 12/2/05, Andres Ortiz <ing(dot)andresortiz(at)gmail(dot)com> wrote:
> > Exelente idea la que me acabas de decir, se me olvido comertar que soy
> > algo nuevo en esto del PostgreSql, no conocia la existencia de reglas,
> > pero ya mismo indago sobre la creacion de reglas, agradezco abusando
> > de tus conocimientos, que me pudieras regalar donde encuentro el
> > registro de que usuario quizo meterme el gol con esto del fraude para
> > mas adelante tomar medidas drasticas. De verdad te agradesco muchisimo
> > esta solucion y to te imaginas del embrollo que me acabas de sacar,
> > cualquier problema con Php con gusto te colaboro.
> >
>
> en la tabla sanguijuelas que te puse ahi... se va a crear un registro
> cada vez que un usuario intente modificar el campo, incluso puedes
> añadir un campo fecha para indicar en que momento intentaron hacer el
> cambio y hasta podrias añadir para la direccion ip de la maquina
> (aunque no recuerdo la funcion que regresa la ip de la maquina
> cliente)
>
> CREATE TABLE sanguijuelas (
> usuario tipo_dato not null,
> fecha timestamp not null
> );
>
> CREATE RULE no_a_las_sanguijuelas AS ON UPDATE TO tabla
> WHERE NEW.usuario <> OLD.usuario
> DO INSTEAD
> INSERT INTO sanguijuelas VALUES (NEW.usuario, current_timestamp);
>
>
> --
> Atentamente,
> Jaime Casanova
> (DBA: DataBase Aniquilator ;)
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Conrado Blasetti 2005-12-02 17:44:03 Consultas sobre vistas
Previous Message Jaime Casanova 2005-12-02 16:15:40 Re: Seguridad en tablas