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

Odpovedet emailem