Re: [python] hash, mysql

2009-03-21 Tema obsahu Bystroushaak
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

2009-03-20 Tema obsahu azurIt
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

2009-03-20 Tema obsahu slush
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

2009-03-20 Tema obsahu 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


Re: [python] hash, mysql

2009-03-20 Tema obsahu Bystroushaak
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

2009-03-20 Tema obsahu Petr Messner
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

2009-03-20 Tema obsahu Jirka Vejrazka
> 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

2009-03-20 Tema obsahu Dan Pressl
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

2009-03-19 Tema obsahu 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

Re: [python] hash, mysql

2009-03-19 Tema obsahu 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



-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

2009-03-19 Tema obsahu slush
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

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu 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:)

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

2009-03-19 Tema obsahu 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


Re: [python] hash, mysql

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu slush
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

2009-03-19 Tema obsahu Dan Pressl
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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu Jirka Vejrazka
> 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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu Tomáš Drenčák
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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu Calis . martin
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

2009-03-19 Tema obsahu 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


Re: [python] hash, mysql

2009-03-19 Tema obsahu 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
,) )




-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

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu slush
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

2009-03-19 Tema obsahu 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


Re: [python] hash, mysql

2009-03-19 Tema obsahu slush
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

2009-03-19 Tema obsahu azurIt
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

2009-03-19 Tema obsahu Yetty
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