[Php-avanzado] Dudas sobre la bd
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Vie Jul 1 18:25:25 ART 2016
Hola Martín,
del lado del servidor, tenés que validar para mantener la integridad de
los datos.
Si permitís que se borre una categoría que está usada por un producto o
borrar una provincia en la que hay ciudades, los datos pierden
integridad, y la validación no pasa por revisar ningún string.
También tenés que validar que los datos que se ingresan sean los
necesarios para que todo funcione: ejemplo un producto sin código.
Por último, y no menos importantes, validar las inyecciones. Evitás la
mayoría escapando las comillas, las SQL escapando las comillas y
prohibiendo el -- y las JS escapando comillas y pasando a entidades los
< y >
Que te falte validar las inyecciones es un fallo de seguridad, que
dependiendo del entorno del servidor puede ser usable o no, pero no
validar la integridad de los datos hace que todo se rompa.
Saludos!
El vie, 01-07-2016 a las 17:31 -0300, Martin Urciuoli escribió:
> Profe no se supone que del lado del servidor debo evitar que hagan sql
> injection,
> osea debo evitar( ' % #), porque la cadena puede no estar vacía pero
> contener instrucciones sql.
> Entonces tengo que validar todos campos de todos los formularios!
> ¿estoy bien?
> Gracias!
> Saludos!
>
>
>
> El 30 de junio de 2016, 20:10, Leonardo Tadei - Pegasus Tech Supply
> <leonardot en pegasusnet.com.ar> escribió:
> Hola Martín,
>
> estás encarando mal las validaciones del lado del
> servidor.
>
> Lo que tenés que validar, es que no estén vacíos los
> datos que son
> obligatorios (por ejemplo, un producto sin código, sin al meno
> suna
> categoría, etc).
>
> Validar con preg_match es para controlar que haya solo
> ciertos
> caracteres en los strings, pero salvo cosas puntuales, como un
> número de
> documento, una dirección de e-mail o una fecha, no suelen
> tener sentido
> para otras cuestiones.
>
> Validá del lado del servidor!
>
>
>
> El jue, 30-06-2016 a las 19:25 -0300, Martin Urciuoli
> escribió:
> > Profe esta version que le mando las abm funcionan pero no
> estan
> > validadas del lado del servidor, probe con ctype, preg_match
> y algo
> > mas pero no me funciona.
> >
> >
> >
> https://drive.google.com/open?id=0BzqLAZvApjLyekhmeXZfeTliM1k
> > Saludos!
> >
> >
> > El 30 de junio de 2016, 15:04, Leonardo Tadei - Pegasus Tech
> Supply
> > <leonardot en pegasusnet.com.ar> escribió:
> > Ok.
> >
> > El jue, 30-06-2016 a las 10:56 -0300, Martin
> Urciuoli
> > escribió:
> > > Profe no mire nada, ya encontré el error!!!
> > > Hago otra versión y luego se la mando!!
> > >
> > > El 30 de junio de 2016, 7:08, Leonardo Tadei -
> Pegasus Tech
> > Supply
> > > <leonardot en pegasusnet.com.ar> escribió:
> > > Hola Martín,
> > >
> > > A la tarde lo miro y te cuento.
> > >
> > > Mientras, andá revisando por qué
> no se
> > editan todos
> > > los datos del
> > > cliente y después el tema de las imágenes
> de los
> > productos.
> > >
> > > Tenés el PHP.INI de tu PHP en modo
> > desarrollo?
> > >
> > > Fijate que tengas las opciones que
> te
> > muestran todos
> > > los errores en
> > > pantalla, así te es más fácil ver los
> errores.
> > >
> > > Si no, buscá el log de errores de
> Apache y
> > fijate que
> > > tu aplicación no
> > > escriba ahí nada para saber que tu código
> funciona
> > bien.
> > >
> > > Seguimos!
> > >
> > >
> > > El mié, 29-06-2016 a las 18:09 -0300,
> Martin
> > Urciuoli
> > > escribió:
> > > > Profe prioricé las ABM como me dijo.
> > > > Cosas que no me andan :
> > > > 1.-sesiones
> > > > 2.-carrito de compra
> > > > 3.-Productos cuando apreto editar no
> puedo
> > modificar la
> > > imagen
> > > > 4.-Clientes cuando apreto editar no
> puedo
> > modificar nombre y
> > > apellido
> > > > Los demas botonoes funcionan !!
> > > > Cuando agrego una categoria nueva, se
> refleja en
> > el menu.
> > > >
> > > >
> > > > Usted me dirá!
> > > >
> > > >
> > > > le paso el proyecto
> > > >
> > >
> >
> https://drive.google.com/open?id=0BzqLAZvApjLyWi1LLVlTMXVqaWM
> > > >
> > > >
> > > >
> > > >
> > > > El 25 de junio de 2016, 13:40, Leonardo
> Tadei -
> > Pegasus Tech
> > > Supply
> > > > <leonardot en pegasusnet.com.ar> escribió:
> > > > Hola Martín,
> > > >
> > > > qué bueno que sigas
> avanzando!
> > > >
> > > > Lo estoy mirando
> superficialmente
> > ahora, y
> > > no puedo
> > > > gestionar
> > > > Categorías ni Productos.
> > > > Aparecen las ventanas
> para poner
> > los datos
> > > pero
> > > > después no impacta
> > > > contra la DB ni da ningún error.
> > > >
> > > > Tenés algunos errores de
> JS dados
> > por
> > > bibliotecas de
> > > > terceros. Por el
> > > > error lo que sea que hagan no
> está
> > pasando. Te
> > > conviene
> > > > sacarlas y
> > > > listo, porque tiene pinta de ser
> algo
> > cosmético y no
> > > > funcional.
> > > >
> > > > En la parte del público,
> el menú
> > desplegable
> > > de
> > > > categorías funciona
> > > > pero el de la izquierda no. La
> verdad es
> > que no
> > > tiene sentido
> > > > tener 2
> > > > menúes, por lo que sería mejor
> dejar solo
> > uno. En
> > > caso de
> > > > dejar el de la
> > > > izquierda, hacelo funcionar.
> > > >
> > > > Respecto a tiempos y
> plazos, si el
> > carrito
> > > no está
> > > > terminado sería un
> > > > trabajo incompleto, pero sin la
> parte
> > administrativa
> > > > funcionando sería
> > > > un trabajo desaprobado...
> priorizá las
> > cosas.
> > > >
> > > > Fijate sobre todo el
> mecanismo
> > para agregar
> > > productos
> > > > y que se puedan
> > > > poner en más de una categoría a
> la vez,
> > cosa que
> > > ahora el
> > > > código no
> > > > refleja.
> > > >
> > > > Es cierto que un trabajo
> final se
> > puede usar
> > > como
> > > > muestra de lo que uno
> > > > sabe... por eso es muy
> importante que los
> > ABM
> > > funcionen y que
> > > > no muestre
> > > > errores de programación en
> pantalla.
> > > > Configurá tu PHP para
> que lo haga
> > así le
> > > sacás el
> > > > error a la grilla de
> > > > productos en el admin.
> > > >
> > > > Enviá dudas y código así
> te puedo
> > dar una
> > > mano!
> > > >
> > > > Saludos
> > > >
> > > > El vie, 24-06-2016 a las 23:52
> -0300,
> > Martin
> > > Urciuoli
> > > > escribió:
> > > > > Hola Profe,
> > > > > Creo para el miercoles lo
> termino.
> > > > > Le mando lo que tengo hasta
> ahora.
> > > > >
> > > > > Hice lo del area de
> administrador. (no
> > todas las
> > > consultas
> > > > me
> > > > > funcionan, je)
> > > > > pero le estoy metiendo pata,
> para
> > llegar. Se me
> > > hizo extensa
> > > > esta
> > > > > parte.
> > > > > Y ya estoy con lo de session y
> el
> > carrito de
> > > compra.
> > > > >
> > > > > Me sorprende como creció el
> proyecto
> > cada vez
> > > tengo mas
> > > > carpetas y
> > > > > archivos. Seguramente se deba
> a mi falta
> > de
> > > experiencia.
> > > > > Bueno le mando este mail para
> que vea
> > que aun
> > > estoy con el
> > > > proyecto no
> > > > > lo dejé ;) Me atrasé por los
> examenes
> > de la
> > > facultad.
> > > > > Pero este proyecto quiero
> terminarlo.
> > > > > Mi idea es trabajar de esto!!
> Se que la
> > parte
> > > estetica es
> > > > bastante
> > > > > pobre, pero tengo entendido
> que una vez
> > finalizado
> > > puedo
> > > > usarlo como
> > > > > muestra de lo aprendido. Y tal
> vez
> > consiga alguna
> > > entrevista
> > > > laboral.
> > > > > Usted que opina?
> > > > >
> > > > >
> > > > > Saludos!!
> > > > >
> > > > >
> > > > >
> > > >
> > >
> >
> https://drive.google.com/open?id=0BzqLAZvApjLyb0dIUzVDeDNnR3M
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > El 6 de junio de 2016, 22:05,
> Leonardo
> > Tadei -
> > > Pegasus Tech
> > > > Supply
> > > > > <leonardot en pegasusnet.com.ar>
> escribió:
> > > > > Hola Martín,
> > > > >
> > > > > El lun, 06-06-2016 a
> las 12:09
> > -0300,
> > > Martin
> > > > Urciuoli
> > > > > escribió:
> > > > > > Hola profe, perdí
> los modulos
> > asi que
> > > estoy con
> > > > los
> > > > > ejemplos, lo que
> > > > > > hice en clase, y
> google.
> > > > >
> > > > > Hubieras ido a
> pedirle
> > una copia a
> > > Silvio...
> > > > >
> > > > > > Tengo bastante
> hecho!
> > > > > > Pero, tengo un par
> de
> > problemitas:
> > > > > >
> > > > > >
> > > > > > AJAX: cuando genero
> el
> > catalogo desde
> > > la bd,
> > > > debajo de cada
> > > > > > "thumbnail" pongo un
> input y
> > un boton de
> > > agregar.
> > > > La idea es
> > > > > que
> > > > > > inserte o actulize
> la tabla de
> > detalle
> > > de pedido.
> > > > Esta tabla
> > > > > la
> > > > > > muestra en la vista
> del
> > carrito de
> > > compras. El
> > > > problema que
> > > > > tengo es
> > > > > > que no anda! ;)
> > > > > > Considero que
> mientras el
> > cliente esta
> > > eligiendo
> > > > los
> > > > > productos voy
> > > > > > almacenando en
> detalledepedido
> > con
> > > idPedido = 1,
> > > > para luego
> > > > > si compra
> > > > > > le actualizo el id
> segun, ah
> > no!! Tengo
> > > que
> > > > manejar sesiones
> > > > > porque si
> > > > > > tengo mas de un a la
> vez se
> > van a
> > > mezclar Chan!!
> > > > >
> > > > > Sí, y bastaría
> con que
> > el pedido
> > > entero
> > > > (todo el
> > > > > pedido) se guarde en
> > > > > una variable de
> sesión, para que
> > solo
> > > cuando el
> > > > cliente lo
> > > > > confirma se
> > > > > guarde en la DB.
> > > > >
> > > > > > Bueno en eso estoy!
> > > > > > Le adjunto el
> proyecto para
> > que lo vea.
> > > > > >
> > > > >
> > > >
> > >
> >
> https://drive.google.com/open?id=0BzqLAZvApjLyMEhCMzEtdmx4aWM
> > > > >
> > > > > Fijate que te
> quedaron
> > todavía un
> > > par de
> > > > llamadas a
> > > > > funciones mysql_
> > > > > (sin la i) que no van
> a
> > funcionar junto
> > > con las
> > > > otras.
> > > > > La parte del
> > administrador, la que
> > > entra el
> > > > dueño para
> > > > > manejar los
> > > > > productos y precios,
> está
> > integrada con
> > > esto o va a
> > > > ir en un
> > > > > directorio
> > > > > aparte?
> > > > >
> > > > > > Espero que no se
> horrorice
> > tanto!
> > > > >
> > > > > No sé si es
> que no está
> > tan mal o
> > > que estoy
> > > > muy
> > > > > curtido ;-)
> > > > >
> > > > > > Gracias!
> > > > >
> > > > > A vos.
> > > > > Seguimos!!!
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Leonardo Tadei
> > > > >
> leonardot en pegasusnet.com.ar
> > > > > Web:
> > http://leonardo.tadei.com.ar
> > > > > Firma pública:
> > > > >
> > > >
> > >
> >
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> > > > >
> > > > >
> > >
> _______________________________________________
> > > > > Lista de correo:
> Php-avanzado
> > > > > Mensajes a la lista:
> > > > Php-avanzado en pato2.fi.mdp.edu.ar
> > > > > Administración Web:
> > > > >
> > > >
> > >
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > > > Desubscripción:
> > > > >
> > > >
> > >
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> > > > >
> > > > >
> > > > >
> > > > >
> > _______________________________________________
> > > > > Lista de correo: Php-avanzado
> > > > > Mensajes a la lista:
> > > Php-avanzado en pato2.fi.mdp.edu.ar
> > > > > Administración Web:
> > > >
> > >
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > > > Desubscripción:
> > > >
> > >
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> > > >
> > > >
> > > > --
> > > >
> > > > Leonardo Tadei
> > > > leonardot en pegasusnet.com.ar
> > > > Pegasus Tech Supply
> > > > Tel: (+54)(+223) 471-2880
> > > > La Salle 1131 - Mar del Plata -
> Argentina
> > > > http://www.pegasusnet.com.ar
> > > > http://www.grupopegasus.com
> > > > Firma pública:
> > > >
> > >
> >
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> > > >
> > > >
> > _______________________________________________
> > > > Lista de correo: Php-avanzado
> > > > Mensajes a la lista:
> > > Php-avanzado en pato2.fi.mdp.edu.ar
> > > > Administración Web:
> > > >
> > >
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > > Desubscripción:
> > > >
> > >
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> > > >
> > > >
> > > >
> > > >
> _______________________________________________
> > > > Lista de correo: Php-avanzado
> > > > Mensajes a la lista:
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > > > Administración Web:
> > >
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > > Desubscripción:
> > >
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> > >
> > > --
> > > Leonardo Tadei
> > > leonardot en pegasusnet.com.ar
> > > Web: http://leonardo.tadei.com.ar
> > > Firma pública:
> > >
> >
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> > >
> > >
> _______________________________________________
> > > Lista de correo: Php-avanzado
> > > Mensajes a la lista:
> > Php-avanzado en pato2.fi.mdp.edu.ar
> > > Administración Web:
> > >
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > Desubscripción:
> > >
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> > >
> > >
> > >
> > > _______________________________________________
> > > Lista de correo: Php-avanzado
> > > Mensajes a la lista:
> Php-avanzado en pato2.fi.mdp.edu.ar
> > > Administración Web:
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > > Desubscripción:
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> >
> > --
> >
> > Leonardo Tadei
> > leonardot en pegasusnet.com.ar
> > Pegasus Tech Supply
> > Tel: (+54)(+223) 471-2880
> > La Salle 1131 - Mar del Plata - Argentina
> > http://www.pegasusnet.com.ar
> > http://www.grupopegasus.com
> > Firma pública:
> >
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
> >
> > _______________________________________________
> > Lista de correo: Php-avanzado
> > Mensajes a la lista:
> Php-avanzado en pato2.fi.mdp.edu.ar
> > Administración Web:
> >
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > Desubscripción:
> >
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
> >
> >
> >
> > _______________________________________________
> > Lista de correo: Php-avanzado
> > Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> > Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> > Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
>
> --
>
> Leonardo Tadei
> leonardot en pegasusnet.com.ar
> Pegasus Tech Supply
> Tel: (+54)(+223) 471-2880
> La Salle 1131 - Mar del Plata - Argentina
> http://www.pegasusnet.com.ar
> http://www.grupopegasus.com
> Firma pública:
> http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web:
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción:
> php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
>
>
>
> _______________________________________________
> Lista de correo: Php-avanzado
> Mensajes a la lista: Php-avanzado en pato2.fi.mdp.edu.ar
> Administración Web: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
> Desubscripción: php-avanzado-request en pato2.fi.mdp.edu.ar?subject=unsubscribe
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado