Evitar sql injection y xss

Horst H. von Brand vonbrand en inf.utfsm.cl
Vie Sep 21 22:50:24 CLT 2007


Rodrigo Fuentealba <darkprox en gmail.com> wrote:
> El 21/09/07, Alvaro Herrera <alvherre en alvh.no-ip.org> escribi贸:
> > Claudio Salazar escribi贸:
> > > Cristian Rodriguez escribi贸:
> >
> > >> No, solo preocupate de **mostrarlas** con las caracteres potencialmente
> > >> da帽inos.
> >
> > Cristian tiene razon.  Para evitar el XSS, lo que hay que hacer es
> > evitar que el navegador interprete el tag como si fuera HTML.  Para
> > esto, lo mas facil es escapar los caracteres peligrosos (creo que con
> > escapar el < deberia ser suficiente pero no estoy seguro).
> 
> 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... 

> 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.

Y a que te refieres con "aplicacion de educacion a distancia"? De esas
cosas ya hay miles como codigo abierto... elige una, y ya.

[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"...]

[...]

> 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"...

> 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.
> 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...
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile               Fax:  +56 32 2797513


M醩 informaci髇 sobre la lista de distribuci髇 Linux