Zdravim, 2009/3/20 Jirka Vejrazka <jirka.vejra...@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 _______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python