[python] hash, mysql

slush slush na slush.cz
Pátek Březen 20 01:07:18 CET 2009


Tady vidim vzajemne nepochopeni. Jak je videt, bezpecnostni diry v
aplikacich casto zavisi i na jedinem znaku :-). Porovnejte nasledujici:

"SELECT * FROM blabla WHERE promenna='%s'" % promenna
"SELECT * FROM blabla WHERE promenna=%s", promenna

Uz je videt ten rozdil? Prvni radek je klasicke python prirazeni - zadne
pridavani uvozovek, zadna ochrana proti SQL injection apod. Druhy priklad,
jako jednotlive parametry predavane do funkce knihovny MySQLdb, jiz toto vse
resi. Jediny rozdil je v carce versus procentu.

Marek

2009/3/20 Dan Pressl <nu.frix na gmail.com>

> Prekvapuje me to, ze %s v kombinaci s % provadi, pokud dobre vim,
> jenom nahrazeni %s nejakym retezcem. Z sqlite3 sem zvykly pouzivat ?
> misto %s prave kvuli odstraneni moznosti SQL Injection, aby prave
> nedoslo k nahrazeni retezcem, ktery by nemusel byt zrovna koser:)
>
>
------------- dal?í ?ást ---------------
HTML p?íloha byla odstran?na...
URL: <http://www.py.cz/pipermail/python/attachments/20090320/e9c7f061/attachment.htm>


Další informace o konferenci Python