Estoy usando Flask, WTForms y la biblioteca OurSQL MySQL para mi aplicación. Recibo datos de publicación de la variable request.form
. Lo puse en un objeto de formulario WTForms. Llamo al validate()
en ese formulario, y luego inserto los datos del formulario en una base de datos MySQL usando OurSQL.Si recibo datos de publicaciones con Flask, coloque esos datos en un formulario WTForms y lo valida con éxito, ¿está a salvo de ataques de inyección de SQL?
Sin realizar ningún procesamiento adicional, ¿estoy a salvo de la inyección de SQL? ¿Se escapa el método WTForms validate
? Si no, ¿qué debo hacer para escapar de los datos? Un ejemplo de lo que estoy haciendo tiene este aspecto:
form = MyWTFFormsForm(request.form)
if form.validate():
cursor.execute("INSERT INTO mytable VALUES (?, ?, ?, ?, ?);",
(form.field1.data, form.field2.data, form.field3.data,
form.field4.data,
form.field5.data))