sanitizar formulario antes de guardar.

520 views
Skip to first unread message

copia

unread,
Jan 4, 2013, 3:44:42 PM1/4/13
to djan...@googlegroups.com
Buenas tardes, ¿Existe alguna función que proporcione django para sanitizar las entradas en formularios, especialmente javascript?.

Estaba viendo  striptags, pero y si quiero que pongan un texto en negrita no lo permitiria.
Ademas muchas veces lo que hago es guardar form.save() ?


Andres Vargas

unread,
Jan 4, 2013, 11:28:00 PM1/4/13
to djan...@googlegroups.com
> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del
> Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a djan...@googlegroups.com
> Para anular la suscripción a este grupo, envíe un mensaje a
> django-es-...@googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.

django no tiene nada de validacion en javascript

podrias usar jquery.validate para esas cosas.

--
Andres Vargas
www.zodman.com.mx

Jorge Copia

unread,
Jan 5, 2013, 3:53:34 PM1/5/13
to djan...@googlegroups.com
no me refiero a validar en javascript sino algo que escape las entradas.
por ejemplo un usuario podria agregar en un input <script type="text/javascript">alert('hola');</script> y si no sanitizo estas entradas pues se guardaria en la base de datos y se mostraria el alert cuando sea consultado.
--
________________________________________________________
By: Copia

Hiko hitokiri

unread,
Jan 5, 2013, 7:36:25 PM1/5/13
to djan...@googlegroups.com
pues en realidad eso no es cierto lo que muestra django que se ingreso en un input es texto plano no lo toma como javascript ni como html si este tuviese tags de este mismo 

podrias agregar al formulario la opcion de pattern para poder  crear formatos de los campos o ya de plano un script hecho con javascript o ya de plano intentarlo con dajax

Esteban Barolin

unread,
Jan 5, 2013, 10:24:54 PM1/5/13
to djan...@googlegroups.com

Hola.
Pruébalo en un form standard de django y verás que en realidad no funciona como dices, salvo que evites que django lo escape con el tag destinado a tal fin.
Saludos!
----
Esteban Barolin
esteban...@gmail.com

Jorge Copia

unread,
Jan 6, 2013, 12:00:05 PM1/6/13
to djan...@googlegroups.com
Tienen razon, django lo escapa cuando lo va a mostrar en el template.

Pero ahora estoy procesando los datos por ajax, envio una peticion y me devuelve en json los datos que luego los muestro.

Entonces ahi si se muestra el javascript.
Por eso decia que los escape cuando lo estoy guardando en la base de datos.

Andres Vargas

unread,
Jan 6, 2013, 8:47:52 PM1/6/13
to djan...@googlegroups.com
cuando imprimes un campo en django ya viene escapado por default.

Si quieres que no se escape usa |safe
> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del
> Framework Django de habla hispana" de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a djan...@googlegroups.com
> Para anular la suscripción a este grupo, envíe un mensaje a
> django-es-...@googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.com.bo/group/django-es.



--
Andres Vargas
www.zodman.com.mx

copia

unread,
Jan 7, 2013, 10:51:52 AM1/7/13
to djan...@googlegroups.com
Creo que tengo que crear una funcion para escapar las respuestas que obtengo por json y asi no tener problemas.

Eduard Diaz

unread,
Jan 7, 2013, 12:11:56 PM1/7/13
to djan...@googlegroups.com
Hola,

Para validar datos json va muy bien validictory [1] o [2] permite
definir un esquema json de los campos y los tipos de datos que
esperas obtener.

[1] https://github.com/sunlightlabs/validictory
[2] https://github.com/trigger-corp/validictory

Saludos

lasizoillo

unread,
Jan 7, 2013, 5:07:04 PM1/7/13
to djan...@googlegroups.com
El día 5 de enero de 2013 21:53, Jorge Copia <eyc...@gmail.com> escribió:
> no me refiero a validar en javascript sino algo que escape las entradas.
> por ejemplo un usuario podria agregar en un input <script
> type="text/javascript">alert('hola');</script> y si no sanitizo estas
> entradas pues se guardaria en la base de datos y se mostraria el alert
> cuando sea consultado.
>
>

Mira a ver si te refieres a algo como
https://github.com/ui/django-html_sanitizer

Jorge Copia

unread,
Jan 8, 2013, 11:23:21 AM1/8/13
to djan...@googlegroups.com
Gracias... lo estoy revisando.
--
________________________________________________________
By: Copia
Reply all
Reply to author
Forward
0 new messages