Re: [python] hash, mysql
Priznavam se v plne mire sveho zlocinu; jsem vinen duplicitni odpovedi! Ministerstvo informaci varuje; Seznam webmail neradi emaily podle vlaken ale podle data, coz v kombinaci s tim ze z konference vzdy prijde nekolik mailu najednou muze zpusobit zmateni uzivatele! > Původní zpráva > Od: azurIt > Předmět: Re: [python] hash, mysql > Datum: 20.3.2009 15:02:51 > > Pretoze ten clovek si neprecital ani uplne prvu odpoved na povodnu otazku: > http://www.py.cz/pipermail/python/2009-March/008763.html > (ktora bola mimochodom zhodna s tou jeho) > > Vcelku ma udivuje sposob, akym sa ludia snazia radit - precitaju si otazku a > okamzite odpovedaju. Je im jedno, ze na tu otazku uz doslo X odpovedi a aj to, > ze ta ich odpoved je zhodna s dalsimi piatimi. Normalny, klasicky a slusny > sposob je najskor precitat cele vlakno predtym, ako sa do neho zapajat. > > > > -Pôvodná správa- > Od: slush [sl...@slush.cz] > Komu: Konference PyCZ > Predmet: Re: [python] hash, mysql > > Proc hned tak utocne? Mate pravdu oba. Ty, kvuli bezpecnosti escapovani a sql > injection a Bystrousak kvuli upozorneni, ze textove porovnavani digest a > hexdigest stejnych dat nikdy nevrati shodu. > > Marek > > > > 2009/3/20 azurIt > A ty by si si najskor mohol precitat odpovede ostatnych pretoze ta vec sa uz > davno vyriesila. > > > > >-Pôvodná správa----- > >Od: Bystroushaak [mailto:bystrou...@seznam.cz] > > > >Komu: Konference PyCZ > > > >Predmet: Re: [python] hash, mysql > > > > > > > > > >Imho bys nemel pouzivat metodu digest(), ale hexdigest() - ta vraci to co se > bezne vsude pouziva jako hash string. > > > >--- > > > >http://xkcd.com/327/ :) > > > >> Původní zpráva > >> Od: > >> Předmět: [python] hash, mysql > >> Datum: 19.3.2009 20:24:52 > >> > >> Dobrý den, mám problémy se spoluprací se sql serverem: > >> > >> server my vrací chybu: > >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual > >> that corresponds to your MySQL server version for the right syntax to use > near > >> > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > >> at line 1') > >> > >> > >> při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" > % > >> password > >> > >> kde password je text získaný metodou: > >> def passToHash(self, password): > >> hash = hashlib.sha512() > >> hash.update(password) > >> hash = hash.digest() > >> return hash > >> > >> Nevíte kde dělám chybu? > >> ___ > >> Python mailing list > >> Python@py.cz > >> http://www.py.cz/mailman/listinfo/python > >> > >> > >> > >___ > >Python mailing list > >Python@py.cz > >http://www.py.cz/mailman/listinfo/python > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Pretoze ten clovek si neprecital ani uplne prvu odpoved na povodnu otazku: http://www.py.cz/pipermail/python/2009-March/008763.html (ktora bola mimochodom zhodna s tou jeho) Vcelku ma udivuje sposob, akym sa ludia snazia radit - precitaju si otazku a okamzite odpovedaju. Je im jedno, ze na tu otazku uz doslo X odpovedi a aj to, ze ta ich odpoved je zhodna s dalsimi piatimi. Normalny, klasicky a slusny sposob je najskor precitat cele vlakno predtym, ako sa do neho zapajat. -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql Proc hned tak utocne? Mate pravdu oba. Ty, kvuli bezpecnosti escapovani a sql injection a Bystrousak kvuli upozorneni, ze textove porovnavani digest a hexdigest stejnych dat nikdy nevrati shodu. Marek 2009/3/20 azurIt A ty by si si najskor mohol precitat odpovede ostatnych pretoze ta vec sa uz davno vyriesila. >-Pôvodná správa- >Od: Bystroushaak [mailto:bystrou...@seznam.cz] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >Imho bys nemel pouzivat metodu digest(), ale hexdigest() - ta vraci to co se >bezne vsude pouziva jako hash string. > >--- > >http://xkcd.com/327/ :) > >> Původní zpráva >> Od: >> Předmět: [python] hash, mysql >> Datum: 19.3.2009 20:24:52 >> >> Dobrý den, mám problémy se spoluprací se sql serverem: >> >> server my vrací chybu: >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the >> manual >> that corresponds to your MySQL server version for the right syntax to use >> near >> \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' >> at line 1') >> >> >> při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % >> password >> >> kde password je text získaný metodou: >> def passToHash(self, password): >> hash = hashlib.sha512() >> hash.update(password) >> hash = hash.digest() >> return hash >> >> Nevíte kde dělám chybu? >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> >> >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Proc hned tak utocne? Mate pravdu oba. Ty, kvuli bezpecnosti escapovani a sql injection a Bystrousak kvuli upozorneni, ze textove porovnavani digest a hexdigest stejnych dat nikdy nevrati shodu. Marek 2009/3/20 azurIt > A ty by si si najskor mohol precitat odpovede ostatnych pretoze ta vec sa > uz davno vyriesila. > > > > >-Pôvodná správa- > >Od: Bystroushaak [mailto:bystrou...@seznam.cz] > >Komu: Konference PyCZ > >Predmet: Re: [python] hash, mysql > > > > > >Imho bys nemel pouzivat metodu digest(), ale hexdigest() - ta vraci to co > se bezne vsude pouziva jako hash string. > > > >--- > > > >http://xkcd.com/327/ :) > > > >> Původní zpráva > >> Od: > >> Předmět: [python] hash, mysql > >> Datum: 19.3.2009 20:24:52 > >> > >> Dobrý den, mám problémy se spoluprací se sql serverem: > >> > >> server my vrací chybu: > >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check > the manual > >> that corresponds to your MySQL server version for the right syntax to > use near > >> > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > >> at line 1') > >> > >> > >> při interpretaci: "SELECT * FROM users WHERE name='root' AND > password=%s" % > >> password > >> > >> kde password je text získaný metodou: > >> def passToHash(self, password): > >> hash = hashlib.sha512() > >> hash.update(password) > >> hash = hash.digest() > >> return hash > >> > >> Nevíte kde dělám chybu? > >> ___ > >> Python mailing list > >> Python@py.cz > >> http://www.py.cz/mailman/listinfo/python > >> > >> > >> > >___ > >Python mailing list > >Python@py.cz > >http://www.py.cz/mailman/listinfo/python > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
A ty by si si najskor mohol precitat odpovede ostatnych pretoze ta vec sa uz davno vyriesila. >-Pôvodná správa- >Od: Bystroushaak [mailto:bystrou...@seznam.cz] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >Imho bys nemel pouzivat metodu digest(), ale hexdigest() - ta vraci to co se >bezne vsude pouziva jako hash string. > >--- > >http://xkcd.com/327/ :) > >> Původní zpráva >> Od: >> Předmět: [python] hash, mysql >> Datum: 19.3.2009 20:24:52 >> >> Dobrý den, mám problémy se spoluprací se sql serverem: >> >> server my vrací chybu: >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the >> manual >> that corresponds to your MySQL server version for the right syntax to use >> near >> \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' >> at line 1') >> >> >> při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % >> password >> >> kde password je text získaný metodou: >> def passToHash(self, password): >> hash = hashlib.sha512() >> hash.update(password) >> hash = hash.digest() >> return hash >> >> Nevíte kde dělám chybu? >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> >> >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Imho bys nemel pouzivat metodu digest(), ale hexdigest() - ta vraci to co se bezne vsude pouziva jako hash string. --- http://xkcd.com/327/ :) > Původní zpráva > Od: > Předmět: [python] hash, mysql > Datum: 19.3.2009 20:24:52 > > Dobrý den, mám problémy se spoluprací se sql serverem: > > server my vrací chybu: > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual > that corresponds to your MySQL server version for the right syntax to use near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % > password > > kde password je text získaný metodou: > def passToHash(self, password): > hash = hashlib.sha512() > hash.update(password) > hash = hash.digest() > return hash > > Nevíte kde dělám chybu? > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Zdravim, 2009/3/20 Jirka Vejrazka : ... > > 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
Re: [python] hash, mysql
> Ehm, čemu se směješ? :)) Omlouvam se a beru to zpet. Vychovan na Oraclu a odkojen tunami bezpecnostnich doporuceni a predpisu jsem zil v krasne predstave ze nejlepsim opatrenim proti SQL injection je pouziti vazanych promennych (bind variables). Ted jsem se na to rychle podival a jak to tak vypada, tak MySQL klasicke vazane promenne neumi a jenom je simuluje na strane klienta. No a MySQLdb to, zda se, dela pres "%s" misto klasickeho ?, jak uz tady bylo probrano. Trochu mne zacina zajimat jaka je treba obrana proti SQL injection pres Unicode, ale to uz je jina pohadka. Jinymi slovy, vcera jsem to prehnal a jeste jednou se omlouvam Jirka ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Uz je to jasne :) Tak trochu sme si nerozumeli s azurItem, nevadi stava se :) 2009/3/20 slush : > Nenahnevam sa :-). Psal jsem to jako pseudokod, slo mi o tu carku a > procento. > >> a tam teda naozaj nevidim dovod, preco by sa nemohlo pouzit '%s'. > > To ja taky nevim. Vsak to pisu a souhlasim s Tebou. Mel jsem pocit, ze se > kazdy bavi o necem trochu jinem - nekdo resil %s vs ? a jiny reagoval na % > vs ",", coz jsou dva uplne odlisne problemy. Uz je to snad jasne. > > M. > > 2009/3/20 azurIt >> >> Ja samozrejme nehovorim o klasickom formatovani ale o sposobe, akym to >> robi MySQLdb (pretoze o nom sa bavime) - a tam teda naozaj nevidim dovod, >> preco by sa nemohlo pouzit '%s'. >> >> Ak sa nenahnevas slush, tak ta malo poupravim nech tu nelieta chybny kod v >> konfere. Parametre musia ist ako tuple, cize: >> >> "SELECT * FROM blabla WHERE promenna=%s", (promenna,) # ano, ta ciarka v >> zatvorke je tam ok, musi tam v tomto pripade byt >> > > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > -- ^nu.friX aka Dan Pressl Reality is useless & F4Q DMNC!!! Every syntax creates code. And code is poetry. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Nenahnevam sa :-). Psal jsem to jako pseudokod, slo mi o tu carku a procento. > a tam teda naozaj nevidim dovod, preco by sa nemohlo pouzit '%s'. To ja taky nevim. Vsak to pisu a souhlasim s Tebou. Mel jsem pocit, ze se kazdy bavi o necem trochu jinem - nekdo resil %s vs ? a jiny reagoval na % vs ",", coz jsou dva uplne odlisne problemy. Uz je to snad jasne. M. 2009/3/20 azurIt > Ja samozrejme nehovorim o klasickom formatovani ale o sposobe, akym to robi > MySQLdb (pretoze o nom sa bavime) - a tam teda naozaj nevidim dovod, preco > by sa nemohlo pouzit '%s'. > > Ak sa nenahnevas slush, tak ta malo poupravim nech tu nelieta chybny kod v > konfere. Parametre musia ist ako tuple, cize: > > "SELECT * FROM blabla WHERE promenna=%s", (promenna,) # ano, ta ciarka v > zatvorke je tam ok, musi tam v tomto pripade byt > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Ja samozrejme nehovorim o klasickom formatovani ale o sposobe, akym to robi MySQLdb (pretoze o nom sa bavime) - a tam teda naozaj nevidim dovod, preco by sa nemohlo pouzit '%s'. Ak sa nenahnevas slush, tak ta malo poupravim nech tu nelieta chybny kod v konfere. Parametre musia ist ako tuple, cize: "SELECT * FROM blabla WHERE promenna=%s", (promenna,) # ano, ta ciarka v zatvorke je tam ok, musi tam v tomto pripade byt -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql 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 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:) ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
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 > 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:) > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Mozes mi povedat, ako tam kvoli tomuto vznikne SQL injection ? Robi sa predsa escapovanie. Inak na tej adrese je proste syntax prikazu SELECT, co to ma spolocne s python modulom ? A jedna sa tam mimochodom o MySQL 6.0 . >-Pôvodná správa- >Od: Dan Pressl [mailto:nu.f...@gmail.com] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >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:) > >Z toho User's Guide me to odkazalo u _mysql modulu na >http://dev.mysql.com/doc/refman/6.0/en/select.html (uz konkretni >adresa), kde sem narazil na pouzivani ? ... cili bych ocekaval, ac je >_mysql modul low-level, tak ze si MySQLdb ponecha tyhle vlastnosti. >Ale je mozny ze v tom mam bordel ... > >2009/3/20 azurIt : >> Co ta na tom prekvapuje ? A mimochodom, na co sa teda '?' pouziva ? >> >> >> >>>-Pôvodná správa- >>>Od: Dan Pressl [mailto:nu.f...@gmail.com] >>>Komu: Konference PyCZ >>>Predmet: Re: [python] hash, mysql >>> >>> >>>Nedalo mi to (http://mysql-python.sourceforge.net/MySQLdb.html) a >>>uznavam svoji chybu. Netusil sem, ze v MySQLdb se vazne ma pouzivat %s >>>(i kdyz to s tim, ze ? vubec nezna taky neni pravda:) ). Trosku me to >>>prekvapuje ... >>> >>> >>>2009/3/19 azurIt : >>>> Nema, MySQLdb nepodporuje nic take ako '?' . Odporucam minimalne prebehnut >>>> dokumentaciu >>>> >>>> >>> >>> >>> >>>-- >>>^nu.friX >>>aka Dan Pressl >>>Reality is useless & F4Q DMNC!!! >>>Every syntax creates code. And code is poetry. >>>___ >>>Python mailing list >>>Python@py.cz >>>http://www.py.cz/mailman/listinfo/python >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> > > > >-- >^nu.friX >aka Dan Pressl >Reality is useless & F4Q DMNC!!! >Every syntax creates code. And code is poetry. >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
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:) Z toho User's Guide me to odkazalo u _mysql modulu na http://dev.mysql.com/doc/refman/6.0/en/select.html (uz konkretni adresa), kde sem narazil na pouzivani ? ... cili bych ocekaval, ac je _mysql modul low-level, tak ze si MySQLdb ponecha tyhle vlastnosti. Ale je mozny ze v tom mam bordel ... 2009/3/20 azurIt : > Co ta na tom prekvapuje ? A mimochodom, na co sa teda '?' pouziva ? > > > >>-Pôvodná správa- >>Od: Dan Pressl [mailto:nu.f...@gmail.com] >>Komu: Konference PyCZ >>Predmet: Re: [python] hash, mysql >> >> >>Nedalo mi to (http://mysql-python.sourceforge.net/MySQLdb.html) a >>uznavam svoji chybu. Netusil sem, ze v MySQLdb se vazne ma pouzivat %s >>(i kdyz to s tim, ze ? vubec nezna taky neni pravda:) ). Trosku me to >>prekvapuje ... >> >> >>2009/3/19 azurIt : >>> Nema, MySQLdb nepodporuje nic take ako '?' . Odporucam minimalne prebehnut >>> dokumentaciu >>> >>> >> >> >> >>-- >>^nu.friX >>aka Dan Pressl >>Reality is useless & F4Q DMNC!!! >>Every syntax creates code. And code is poetry. >>___ >>Python mailing list >>Python@py.cz >>http://www.py.cz/mailman/listinfo/python > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > -- ^nu.friX aka Dan Pressl Reality is useless & F4Q DMNC!!! Every syntax creates code. And code is poetry. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Co ta na tom prekvapuje ? A mimochodom, na co sa teda '?' pouziva ? >-Pôvodná správa- >Od: Dan Pressl [mailto:nu.f...@gmail.com] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >Nedalo mi to (http://mysql-python.sourceforge.net/MySQLdb.html) a >uznavam svoji chybu. Netusil sem, ze v MySQLdb se vazne ma pouzivat %s >(i kdyz to s tim, ze ? vubec nezna taky neni pravda:) ). Trosku me to >prekvapuje ... > > >2009/3/19 azurIt : >> Nema, MySQLdb nepodporuje nic take ako '?' . Odporucam minimalne prebehnut >> dokumentaciu >> >> > > > >-- >^nu.friX >aka Dan Pressl >Reality is useless & F4Q DMNC!!! >Every syntax creates code. And code is poetry. >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Ano, je to tak. Da sa to pouzivat aj tak, ako to robi avsak potom sa tam nevykonava ziadne escapovanie, co je teda podla mna dost velka degradacia celeho modulu. -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql Narazel jsem presne na tohle. Podle me dela "neco %s" % promenna proste textovy replacement pythonu a nikde to zadne uvozovky nepridava. Pokud se bavime o MySQLdb rozhrani, melo by to byt "neco %s", promenna (<- carka misto procento). Pokud jsem uplne mimo, opravte me prosim. Marek 2009/3/19 azurIt Mimochodom, podla toho, ako to ten clovek pouziva, to vyzera, ze bud pouziva modul _mysql alebo pouziva MySQLdb avsak blbo. Malo by to byt takto: db_curr.execute("SELECT * FROM users WHERE name='root' AND password=%s", (password ,) ) ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Narazel jsem presne na tohle. Podle me dela "neco %s" % promenna proste textovy replacement pythonu a nikde to zadne uvozovky nepridava. Pokud se bavime o MySQLdb rozhrani, melo by to byt "neco %s", promenna (<- carka misto procento). Pokud jsem uplne mimo, opravte me prosim. Marek 2009/3/19 azurIt > Mimochodom, podla toho, ako to ten clovek pouziva, to vyzera, ze bud > pouziva modul _mysql alebo pouziva MySQLdb avsak blbo. Malo by to byt takto: > > db_curr.execute("SELECT * FROM users WHERE name='root' AND password=%s", > (password > ,) ) > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Nedalo mi to (http://mysql-python.sourceforge.net/MySQLdb.html) a uznavam svoji chybu. Netusil sem, ze v MySQLdb se vazne ma pouzivat %s (i kdyz to s tim, ze ? vubec nezna taky neni pravda:) ). Trosku me to prekvapuje ... 2009/3/19 azurIt : > Nema, MySQLdb nepodporuje nic take ako '?' . Odporucam minimalne prebehnut > dokumentaciu > > -- ^nu.friX aka Dan Pressl Reality is useless & F4Q DMNC!!! Every syntax creates code. And code is poetry. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Ehm, čemu se směješ? :)) > Původní zpráva > Od: Jirka Vejrazka > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 22:56:57 > > > Ehm proti SQL injection jsem chráněný přes kontrolu nepovolených znaků.. > > Dekuju, a to uz jsem si myslel, ze se dneska nezasmeju :) > > Dan Pressl ma pravdu. > > Jirka V/ > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Nema, MySQLdb nepodporuje nic take ako '?' . Odporucam minimalne prebehnut dokumentaciu >-Pôvodná správa- >Od: Jirka Vejrazka [mailto:jirka.vejra...@gmail.com] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >> Ehm proti SQL injection jsem chráněný přes kontrolu nepovolených znaků.. > >Dekuju, a to uz jsem si myslel, ze se dneska nezasmeju :) > >Dan Pressl ma pravdu. > >Jirka V/ >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
To robis vcelku chybu pretoze sa ti tam nic neescapuje a musis to teda robit rucne - zbytocna robota a nema istotu, ze to robis uplne ok. Inak nechapem co by ti to skomplikovalo, moze to predsa urobit napr. nejako takto: def run_sql_query(*args): db_curr.execute(args[0], args[1:]) a volas: run_sql_query("SELECT * FROM users WHERE name='root' AND password=%s", password) >-Pôvodná správa- >Od: [mailto:calis.mar...@seznam.cz] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >Díky, ale jak jsem psal výše radši zůstanu u stávající metody i když hold budu >muset psát uvozovky.. :( > >> Původní zpráva ---- >> Od: Tomáš Drenčák >> Předmět: Re: [python] hash, mysql >> Datum: 19.3.2009 22:10:31 >> >> Povodne tam bolo: >> "SELECT * FROM users WHERE name='root' AND password=%s" % password >> a treba aby sa to spustalo: >> cursor.execute( "SELECT * FROM users WHERE name='root' AND >> password=%s", password) >> >> DB API pouziva %s ako placeholdery namiesto ? >> >> 2009/3/19 Dan Pressl : >> > Ja nechci rejpat, ale nemelo by misto: >> > >> > %s >> > >> > byt spis: >> > >> > ? >> > >> > aby nemohlo dojit tak snadno k SQL Injection ? >> > >> > 2009/3/19 : >> >> Dobrý den, mám problémy se spoluprací se sql serverem: >> >> >> >> server my vrací chybu: >> >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the >> manual that corresponds to your MySQL server version for the right syntax to >> use >> near >> \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' >> at line 1') >> >> >> >> >> >> při interpretaci: "SELECT * FROM users WHERE name='root' AND >> >> password=%s" % >> password >> >> >> > >> > >> > -- >> > ^nu.friX >> > aka Dan Pressl >> > Reality is useless & F4Q DMNC!!! >> > Every syntax creates code. And code is poetry. >> > ___ >> > Python mailing list >> > Python@py.cz >> > http://www.py.cz/mailman/listinfo/python >> > >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> >> >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
> Ehm proti SQL injection jsem chráněný přes kontrolu nepovolených znaků.. Dekuju, a to uz jsem si myslel, ze se dneska nezasmeju :) Dan Pressl ma pravdu. Jirka V/ ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Díky, ale jak jsem psal výše radši zůstanu u stávající metody i když hold budu muset psát uvozovky.. :( > Původní zpráva > Od: Tomáš Drenčák > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 22:10:31 > > Povodne tam bolo: > "SELECT * FROM users WHERE name='root' AND password=%s" % password > a treba aby sa to spustalo: > cursor.execute( "SELECT * FROM users WHERE name='root' AND > password=%s", password) > > DB API pouziva %s ako placeholdery namiesto ? > > 2009/3/19 Dan Pressl : > > Ja nechci rejpat, ale nemelo by misto: > > > > %s > > > > byt spis: > > > > ? > > > > aby nemohlo dojit tak snadno k SQL Injection ? > > > > 2009/3/19 : > >> Dobrý den, mám problémy se spoluprací se sql serverem: > >> > >> server my vrací chybu: > >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use > near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > >> > >> > >> při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" > >> % > password > >> > > > > > > -- > > ^nu.friX > > aka Dan Pressl > > Reality is useless & F4Q DMNC!!! > > Every syntax creates code. And code is poetry. > > ___ > > Python mailing list > > Python@py.cz > > http://www.py.cz/mailman/listinfo/python > > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
aha :) btw: mám vlastní metodu na spouštění dotazů (abych nemusel nic psát dvakrát..) takže tohle by my situaci poněkud komplikovalo... > Původní zpráva > Od: azurIt > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 22:27:44 > > Pretoze to pouzivas nespravne, vid. > http://www.py.cz/pipermail/python/2009-March/008768.html > > > > >-Pôvodná správa- > >Od: [mailto:calis.mar...@seznam.cz] > >Komu: Konference PyCZ > >Predmet: Re: [python] hash, mysql > > > > > >No, myslel jsem si to taky ale když jsem si teď opravil hashovací funkci > funguje to pouze když je to v uvozovkách.. > > > >> ---- Původní zpráva > >> Od: azurIt > >> Předmět: Re: [python] hash, mysql > >> Datum: 19.3.2009 20:45:59 > >> > >> Pretoze MySQLdb robi escapovanie automaticky a tie uvodzovky tam prida sam. > >> Modul _mysql to samozrejme nerobi, pretoze je lowlevel a celkovo dost > >> nepohodlny. Tiez nie je urceny na priame pouzivanie (pouziva ho prave modul > >> MySQLdb). > >> > >> > >> > >> > >> -Pôvodná správa- > >> Od: slush [sl...@slush.cz] > >> Komu: Konference PyCZ > >> Predmet: Re: [python] hash, mysql > >> > >> Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne > >> pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho > >> pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, > takze > >> na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. > >> > >> Marek > >> > >> > >> > >> 2009/3/19 azurIt > >> Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul > >> MySQLdb > . > >> Jedine pri _mysql (lowlevel) musi. > >> > >> > >> > >> > >> -Pôvodná správa- > >> Od: slush [sl...@slush.cz] > >> Komu: Konference PyCZ > >> Predmet: Re: [python] hash, mysql > >> > >> > >> > >> A nejaky duvod, proc %s neni v uvozovkach? > >> > >> Marek > >> > >> > >> > >> 2009/3/19 > >> > >> > >> > >> > >> Dobrý den, mám problémy se spoluprací se sql serverem: > >> > >> server my vrací chybu: > >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > >> manual that corresponds to your MySQL server version for the right syntax > >> to > use > >> near > >> > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > >> at line 1') > >> > >> > >> při interpretaci: "SELECT * FROM users WHERE name='root' AND > >> password=%s" > % > >> password > >> > >> kde password je text získaný metodou: > >> def passToHash(self, password): > >> hash = hashlib.sha512() > >> hash.update(password) > >> hash = hash.digest() > >> return hash > >> > >> Nevíte kde dělám chybu? ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Pretoze to pouzivas nespravne, vid. http://www.py.cz/pipermail/python/2009-March/008768.html >-Pôvodná správa- >Od: [mailto:calis.mar...@seznam.cz] >Komu: Konference PyCZ >Predmet: Re: [python] hash, mysql > > >No, myslel jsem si to taky ale když jsem si teď opravil hashovací funkci >funguje to pouze když je to v uvozovkách.. > >> Původní zpráva -------- >> Od: azurIt >> Předmět: Re: [python] hash, mysql >> Datum: 19.3.2009 20:45:59 >> >> Pretoze MySQLdb robi escapovanie automaticky a tie uvodzovky tam prida sam. >> Modul _mysql to samozrejme nerobi, pretoze je lowlevel a celkovo dost >> nepohodlny. Tiez nie je urceny na priame pouzivanie (pouziva ho prave modul >> MySQLdb). >> >> >> >> >> -Pôvodná správa- >> Od: slush [sl...@slush.cz] >> Komu: Konference PyCZ >> Predmet: Re: [python] hash, mysql >> >> Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne >> pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho >> pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, >> takze >> na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. >> >> Marek >> >> >> >> 2009/3/19 azurIt >> Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb >> . >> Jedine pri _mysql (lowlevel) musi. >> >> >> >> >> -Pôvodná správa- >> Od: slush [sl...@slush.cz] >> Komu: Konference PyCZ >> Predmet: Re: [python] hash, mysql >> >> >> >> A nejaky duvod, proc %s neni v uvozovkach? >> >> Marek >> >> >> >> 2009/3/19 >> >> >> >> >> Dobrý den, mám problémy se spoluprací se sql serverem: >> >> server my vrací chybu: >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the >> manual that corresponds to your MySQL server version for the right syntax to >> use >> near >> \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' >> at line 1') >> >> >> při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" >> % >> password >> >> kde password je text získaný metodou: >> def passToHash(self, password): >> hash = hashlib.sha512() >> hash.update(password) >> hash = hash.digest() >> return hash >> >> Nevíte kde dělám chybu? >> ___ >> Python mailing list >> pyt...@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> >> ___ >> Python mailing list >> Python@py.cz >> http://www.py.cz/mailman/listinfo/python >> >> >> >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Povodne tam bolo: "SELECT * FROM users WHERE name='root' AND password=%s" % password a treba aby sa to spustalo: cursor.execute( "SELECT * FROM users WHERE name='root' AND password=%s", password) DB API pouziva %s ako placeholdery namiesto ? 2009/3/19 Dan Pressl : > Ja nechci rejpat, ale nemelo by misto: > > %s > > byt spis: > > ? > > aby nemohlo dojit tak snadno k SQL Injection ? > > 2009/3/19 : >> Dobrý den, mám problémy se spoluprací se sql serverem: >> >> server my vrací chybu: >> ProgrammingError: (1064, 'You have an error in your SQL syntax; check the >> manual that corresponds to your MySQL server version for the right syntax to >> use near >> \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' >> at line 1') >> >> >> při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % >> password >> > > > -- > ^nu.friX > aka Dan Pressl > Reality is useless & F4Q DMNC!!! > Every syntax creates code. And code is poetry. > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
tady najdeš specifikace k DB API: http://www.python.org/dev/peps/pep-0249/ . Já osobně jsem tam uvozovky necpal protože dříve jsem používal pysqlite3 a ty to nevyžadovaly... > Původní zpráva > Od: slush > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 20:37:41 > > Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne > pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho > pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, > takze na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. > > Marek > > 2009/3/19 azurIt > > > Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb > > . Jedine pri _mysql (lowlevel) musi. > > > > > > > > > > -----Pôvodná správa- > > Od: slush [sl...@slush.cz] > > Komu: Konference PyCZ > > Predmet: Re: [python] hash, mysql > > > > A nejaky duvod, proc %s neni v uvozovkach? > > > > Marek > > > > > > > > 2009/3/19 > > Dobrý den, mám problémy se spoluprací se sql serverem: > > > > server my vrací chybu: > > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > > manual that corresponds to your MySQL server version for the right syntax to > > use near > > > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > > at line 1') > > > > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" > > % password > > > > kde password je text získaný metodou: > > def passToHash(self, password): > > hash = hashlib.sha512() > > hash.update(password) > > hash = hash.digest() > > return hash > > > > Nevíte kde dělám chybu? > > ___ > > Python mailing list > > Python@py.cz > > http://www.py.cz/mailman/listinfo/python > > > > > > ___ > > Python mailing list > > Python@py.cz > > http://www.py.cz/mailman/listinfo/python > > > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
No, myslel jsem si to taky ale když jsem si teď opravil hashovací funkci funguje to pouze když je to v uvozovkách.. > Původní zpráva > Od: azurIt > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 20:45:59 > > Pretoze MySQLdb robi escapovanie automaticky a tie uvodzovky tam prida sam. > Modul _mysql to samozrejme nerobi, pretoze je lowlevel a celkovo dost > nepohodlny. Tiez nie je urceny na priame pouzivanie (pouziva ho prave modul > MySQLdb). > > > > > -Pôvodná správa- > Od: slush [sl...@slush.cz] > Komu: Konference PyCZ > Predmet: Re: [python] hash, mysql > > Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne > pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho > pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, takze > na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. > > Marek > > > > 2009/3/19 azurIt > Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb . > Jedine pri _mysql (lowlevel) musi. > > > > > -Pôvodná správa- > Od: slush [sl...@slush.cz] > Komu: Konference PyCZ > Predmet: Re: [python] hash, mysql > > > > A nejaky duvod, proc %s neni v uvozovkach? > > Marek > > > > 2009/3/19 > > > > > Dobrý den, mám problémy se spoluprací se sql serverem: > > server my vrací chybu: > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use > near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % > password > > kde password je text získaný metodou: > def passToHash(self, password): > hash = hashlib.sha512() > hash.update(password) > hash = hash.digest() > return hash > > Nevíte kde dělám chybu? > ___ > Python mailing list > pyt...@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
THX pomohlo.. > Původní zpráva > Od: azurIt > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 19:51:00 > > Skus funkciu passToHash() upravit takto: > > > hash = hash.hexdigest() > return hash > > azur > > > >-Pôvodná správa- > >Od: [mailto:calis.mar...@seznam.cz] > >Komu: Konference PyCZ > >Predmet: [python] hash, mysql > > > > > >Dobrý den, mám problémy se spoluprací se sql serverem: > > > >server my vrací chybu: > >ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use > near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > > > >při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % > password > > > >kde password je text získaný metodou: > >def passToHash(self, password): > >hash = hashlib.sha512() > >hash.update(password) > >hash = hash.digest() > >return hash > > > >Nevíte kde dělám chybu? > >___ > >Python mailing list > >Python@py.cz > >http://www.py.cz/mailman/listinfo/python > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Ehm proti SQL injection jsem chráněný přes kontrolu nepovolených znaků.. > Původní zpráva > Od: Dan Pressl > Předmět: Re: [python] hash, mysql > Datum: 19.3.2009 20:53:26 > > Ja nechci rejpat, ale nemelo by misto: > > %s > > byt spis: > > ? > > aby nemohlo dojit tak snadno k SQL Injection ? > > 2009/3/19 : > > Dobrý den, mám problémy se spoluprací se sql serverem: > > > > server my vrací chybu: > > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use > near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % > password > > > > > -- > ^nu.friX > aka Dan Pressl > Reality is useless & F4Q DMNC!!! > Every syntax creates code. And code is poetry. > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Ja nechci rejpat, ale nemelo by misto: %s byt spis: ? aby nemohlo dojit tak snadno k SQL Injection ? 2009/3/19 : > Dobrý den, mám problémy se spoluprací se sql serverem: > > server my vrací chybu: > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % > password > -- ^nu.friX aka Dan Pressl Reality is useless & F4Q DMNC!!! Every syntax creates code. And code is poetry. ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Mimochodom, podla toho, ako to ten clovek pouziva, to vyzera, ze bud pouziva modul _mysql alebo pouziva MySQLdb avsak blbo. Malo by to byt takto: db_curr.execute("SELECT * FROM users WHERE name='root' AND password=%s", (password ,) ) -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, takze na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. Marek 2009/3/19 azurIt Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb . Jedine pri _mysql (lowlevel) musi. -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql A nejaky duvod, proc %s neni v uvozovkach? Marek 2009/3/19 Dobrý den, mám problémy se spoluprací se sql serverem: server my vrací chybu: ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' at line 1') při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % password kde password je text získaný metodou: def passToHash(self, password): hash = hashlib.sha512() hash.update(password) hash = hash.digest() return hash Nevíte kde dělám chybu? ___ Python mailing list pyt...@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Pretoze MySQLdb robi escapovanie automaticky a tie uvodzovky tam prida sam. Modul _mysql to samozrejme nerobi, pretoze je lowlevel a celkovo dost nepohodlny. Tiez nie je urceny na priame pouzivanie (pouziva ho prave modul MySQLdb). -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, takze na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. Marek 2009/3/19 azurIt Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb . Jedine pri _mysql (lowlevel) musi. -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql A nejaky duvod, proc %s neni v uvozovkach? Marek 2009/3/19 Dobrý den, mám problémy se spoluprací se sql serverem: server my vrací chybu: ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' at line 1') při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % password kde password je text získaný metodou: def passToHash(self, password): hash = hashlib.sha512() hash.update(password) hash = hash.digest() return hash Nevíte kde dělám chybu? ___ Python mailing list pyt...@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Muzu poprosit o nejaky zdroj, resp. vysvetleni duvodu? S mysql jsem hojne pracoval, ale ne v pythonu. Takove chovani me trochu zarazi a rad bych ho pochopil. Ja ve vyse uvedenem prikladu vidim obycejne spojovani retezcu, takze na server pujde "hash=asdfjhasdfh", coz je samozrejme spatne. Marek 2009/3/19 azurIt > Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb > . Jedine pri _mysql (lowlevel) musi. > > > > > -Pôvodná správa- > Od: slush [sl...@slush.cz] > Komu: Konference PyCZ > Predmet: Re: [python] hash, mysql > > A nejaky duvod, proc %s neni v uvozovkach? > > Marek > > > > 2009/3/19 > Dobrý den, mám problémy se spoluprací se sql serverem: > > server my vrací chybu: > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" > % password > > kde password je text získaný metodou: > def passToHash(self, password): > hash = hashlib.sha512() > hash.update(password) > hash = hash.digest() > return hash > > Nevíte kde dělám chybu? > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Nemusi (vlastne nesmie) to byt v uvodovkach pokial sa pouziva modul MySQLdb . Jedine pri _mysql (lowlevel) musi. -Pôvodná správa- Od: slush [sl...@slush.cz] Komu: Konference PyCZ Predmet: Re: [python] hash, mysql A nejaky duvod, proc %s neni v uvozovkach? Marek 2009/3/19 Dobrý den, mám problémy se spoluprací se sql serverem: server my vrací chybu: ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' at line 1') při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % password kde password je text získaný metodou: def passToHash(self, password): hash = hashlib.sha512() hash.update(password) hash = hash.digest() return hash Nevíte kde dělám chybu? ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
A nejaky duvod, proc %s neni v uvozovkach? Marek 2009/3/19 > Dobrý den, mám problémy se spoluprací se sql serverem: > > server my vrací chybu: > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" > % password > > kde password je text získaný metodou: > def passToHash(self, password): >hash = hashlib.sha512() >hash.update(password) >hash = hash.digest() >return hash > > Nevíte kde dělám chybu? > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Skus funkciu passToHash() upravit takto: hash = hash.hexdigest() return hash azur >-Pôvodná správa- >Od: [mailto:calis.mar...@seznam.cz] >Komu: Konference PyCZ >Predmet: [python] hash, mysql > > >Dobrý den, mám problémy se spoluprací se sql serverem: > >server my vrací chybu: >ProgrammingError: (1064, 'You have an error in your SQL syntax; check the >manual that corresponds to your MySQL server version for the right syntax to >use near >\'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > >při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % >password > >kde password je text získaný metodou: >def passToHash(self, password): >hash = hashlib.sha512() >hash.update(password) >hash = hash.digest() >return hash > >Nevíte kde dělám chybu? >___ >Python mailing list >Python@py.cz >http://www.py.cz/mailman/listinfo/python ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python
Re: [python] hash, mysql
Nemá být to %s také v uvozovkách? "SELECT * FROM users WHERE name='root' AND password='%s'" calis.mar...@seznam.cz napsal(a): > Dobrý den, mám problémy se spoluprací se sql serverem: > > server my vrací chybu: > ProgrammingError: (1064, 'You have an error in your SQL syntax; check the > manual that corresponds to your MySQL server version for the right syntax to > use near > \'\xa1A\x91k\xc7\xde\x17M\xe0j\xec\xc2\xf1(,iq|\x839;&\x17\xc4\xc1\xcc\x04\x93\x0e\xc81R\xf5UB&\xd1\xaf\xb4P"\' > at line 1') > > > při interpretaci: "SELECT * FROM users WHERE name='root' AND password=%s" % > password > > kde password je text získaný metodou: > def passToHash(self, password): > hash = hashlib.sha512() > hash.update(password) > hash = hash.digest() > return hash > > Nevíte kde dělám chybu? > ___ > Python mailing list > Python@py.cz > http://www.py.cz/mailman/listinfo/python > > > smime.p7s Description: S/MIME Cryptographic Signature ___ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python