[python] hash, mysql

Petr Messner petr.messner na gmail.com
Pátek Březen 20 12:00:53 CET 2009


Zdravim,

2009/3/20 Jirka Vejrazka <jirka.vejrazka na gmail.com>:
...
>
> Trochu mne zacina zajimat jaka je treba obrana proti SQL injection
> pres Unicode, ale to uz je jina pohadka.
>

Unicode retezce se zakoduji do kodovani, ve kterem je vedeno spojeni
(parametr charset= u funkce MySQLdb.connect).

Ono totiz ta metoda execute dela to, ze vezme ten tuple, prvek po
prvku zjisti typ a podle typu ho nejak zpracuje (je tam mapa
typ->zpracovavajici funkce), takze to umi zpracovat treba i datetime
nebo Decimal, nebo i to, co si sami nadefinujete. A kdyz to narazi na
unicode, tak ho prevede na string v kodovani nastavenem pro dane
spojeni. A samozrejme zaescapuje.


> Jinymi slovy, vcera jsem to prehnal a jeste jednou se omlouvam

Ja nechci nikoho urazit, ale preci jenom, jestli to neprehnali spis
ti, co do konference jako spravny poradili postup trpici (nebo po
malem opomenuti tripici) prave SQL injection. Proste si clovek musi
davat pozor, co dela a jak pracuje to, co pouziva, zejmena v pripade,
ze si nad tim dela vlastni knihovnu :-)


PM


Další informace o konferenci Python