Tienes mucha razón¡¡¡ No lo había visto de ese modo¡¡ Aqui empezamos a trabajar con el Zend Framework lo cual yo considero que tiene bastante seguridad dada su estructura y sus clases. Pienso yo que no es necesario crear funciones sino simplemente usar las bondades del Framework y como dices validar los datos antes de que se inserten. No se si tú hayas trabajado con éste y si en ese caso puedas reafirmar o corregir mi idea.
Como sea, no me gustaría quedarme con el NO PUDE hacer la función y mira... según la documentación:
LANGUAGE langname | IMMUTABLE | STABLE | VOLATILE | CALLED ON NULL INPUT he construido la función así:CREATE FUNCTION add_fila(numeric,varchar,varchar, varchar,interval,numeric, numeric,numeric,numeric,char) RETURNS integer AS 'BEGIN INSERT INTO video values($1,$2,$3,$4,$5,$6,$7,$8,$9,$10); return 1; END' LANGUAGE 'plpgsql' CALLED ON NULL INPUT;
CREATE FUNCTION pero al darle los argumentos... select add_fila(20,'Pumas Campeon','NULL','NULL','NULL','NULL',1,1,1,'NULL'); :S ______________________________________________________________________ Alvaro Herrera <alvhe...@alvh.no-ip.org> ha escrito:
jsgar...@seguridad.unam.mx escribió:Gracias Álvaro por la respuesta, en un momento más probaré. Quisiera pedirte como un gran favor que me platicaras por qué no debería usar una función para un insert. Esto me lo han pedido aqui,Porque no tiene ningún propósito ... ?argumentando una mayor seguridad con el fnde evitar por ejemplo SQL Injection.Absurdo. Se puede hacer una inyección de SQL en un llamado a función también. Necesitas protegerte de estos casos _antes_ de pasarle cualquier cosa a la BD, independiente de si es un INSERT o un llamado a función.Podrías aconsejarme algo???"No creas todo lo que te digan" ¿sirve? -- Alvaro Herrera http://www.advogato.org/person/alvherre "Use it up, wear it out, make it do, or do without" -- TIP 7: no olvides aumentar la configuración del "free space map"
---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
binVHUc9j2U34.bin
Description: Clave PGP pública
-- TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net