[Python-es] Para que se usa el "%"
Gustavo Cabral
gmcabral en gmail.com
Mar Nov 23 20:18:25 CET 2010
El día 23 de noviembre de 2010 15:38, Ricardo Cárdenes Medina
<ricardo.cardenes en gmail.com> escribió:
>
>
> 2010/11/23 Ricardo Cárdenes Medina <ricardo.cardenes en gmail.com>
>>
>> La idea es evitar cosas como los ataques de inyección SQL.
>
> Nota: y no solo ataques. Imagina esto:
> >>> sql = "UPDATE usuarios SET nombre='%s' WHERE id = %d"
> >>> sql % ("O'neill", 15)
> "UPDATE usuarios SET nombre='O'neill' WHERE id = 15"
> Como verás, hay un error de sintaxis. Y aquí ni siquiera tenemos a un
> atacante, sino una entrada de datos válida.
> En general el problema es al trabajar con cadenas de texto, por ejemplo, que
> tienen que ir delimitadas (no es un problema con números), pero es mejor
> acostumbrarse a no usar % para estas cosas en ningún caso y así evitamos
> tentaciones y problemas.
Muchas Gracias, me queda más que claro.
--
Linux es Libertad
Más información sobre la lista de distribución Python-es