Evitar sql injection y xss

Rodrigo Fuentealba darkprox en gmail.com
Vie Sep 21 23:54:37 CLT 2007


Por error le envié el mensaje sólo al doc. reenvío a la lista.

El 21/09/07, Rodrigo Fuentealba <darkprox en gmail.com> escribió:
> El 21/09/07, Horst H. von Brand <vonbrand en inf.utfsm.cl> escribió:
> > Rodrigo Fuentealba <darkprox en gmail.com> wrote:
> > > El 21/09/07, Alvaro Herrera <alvherre en alvh.no-ip.org> escribió:
> > > > Claudio Salazar escribió:
> > >
> > > Si te pones a pensar en todas las posibilidades, no es suficiente.
> >
> > Revisa <http://www.dwheeler.com/secure-programs> para una larga lista de
> > sugerencias...
> >
>
> Buen libro. Encontré varias personas en el instituto en el que me
> matriculé (no quiero decir estudié, por basuras entremedio) que decían
> que para validar datos era necesario el sentido común, cosa que está
> mala por dos razones:
>
> 1.- No todos los seres humanos tienen sentido común. Los que carecen
> completamente de ello reciben varios nombres, entre ellos:
> "políticos", "periodistas de espectáculos" y "usuarios de Windows".
>
> 2.- No podemos pretender conocer todas las posibilidades de
> validación, pues (un ejemplo nada más) en el caso del correo
> electrónico hay un RFC que menciona los carácteres que debieran ser
> válidos para las nominaciones de e-mails, pero un RFC puede ser
> implementado correctamente o no por un cliente (aunque debiera!)
>
> > > Ponte a pensar en un trozo de código que quieres postear (pensando en
> > > un blog, naturalmente; o en una aplicación de educación a distancia,
> > > como una que estoy haciendo ahora).
> >
> > Si revisas las cosas que los blogs aguantan como tags en sus comentarios,
> > suelen ser /muy/ limitados.
>
> Era un ejemplo nada más, no se me le enojesemele.
>
> > Y a que te refieres con "aplicacion de educacion a distancia"? De esas
> > cosas ya hay miles como codigo abierto... elige una, y ya.
>
> No encontré ninguna que aguantara los carácteres raros con que se
> escribe la fonética de las palabras, y eso era lo que se requería; y
> la que encontré era tan mala programáticamente que no quise entrar a
> picar código malo e indocumentado de otros.
>
> > [Por lo demas, estamos en la fase de "entusiasmo debordado, implementemos!"
> >  del ciclo de 5 an~os de esas cosas... en cosa de un an~o se daran cuenta
> >  (nuevamente) que no es /tan/ facil, luego pasan dos an~os para que a todos
> >  se les olvide el descalabro, y copmenzamos nuevamente por lo de "no seria
> >  buena idea"...]
>
> KISS, DRY y algunas buenas técnicas de programación ayudan, ¿no?
>
> > [...]
> >
> > > Llevar un tracking de aquellos elementos que en un nombre de pila no
> > > serían permitidos pero en el campo "contenido" de un blog sí lo son,
> >
> > Bienvenido al mundo de "se requiere validar los datos"...
>
> ¿de nuevo? Ya me ha tocado.
>
> > > en tablas separadas horribiliza el modelo, hace más compleja la
> > > programación y al final se me ocurren dos soluciones:
> > >
> > > 1.- Guardar el contenido del fckeditor o el tiny_mce, tal como se
> > > genera, en la base.
>
> Sobre lo de bienvenido al mundo de la validación de datos, claro que
> es lo mejor hacerlo caso a caso. Me resisto a que mod_security se
> encargue de ello.
>
> > > 2.- Generar una suerte de metalenguaje que me permita insertar
> > > imágenes y links sin usar tags html, como {% img="imagen.jpg" style=""
> > > %} o {% link="http://www.google.cl" text="Google" %} (algo como el
> > > funcionamiento de los BBCodes)
> >
> > No.
> >
> > Revisa como lo hacen los paquetes para blogs (<http://www.geeklog.net> hace
> > funcionar <http://www.groklaw.net>). La gente de <http://lwn.net> tiene
> > algo tejido en casa, que les tomo /an~os/ perfeccionar, y que no publican
> > porque les da verguenza lo sucio del codigo...
>
> I know. Si sigue revisando mi comentario, da un ejemplo más que
> suficiente para "no" tomar el segundo camino.
>
> --
> Rodrigo Fuentealba
>

-- 
Rodrigo Fuentealba



Más información sobre la lista de distribución Linux