Pouze tento týden sleva až 80 % na e-learning týkající se Javy. Zároveň využij akce až 50 % zdarma při nákupu e-learningu - více informací.
Aktualizovali jsme Zásady zpracování osobních údajů. Pokračováním užívání sítě projevíte souhlas s těmito podmínkami. Tuto zprávu můžete nyní zavřít.
java week + discount 50
Avatar
martinkobelka
Tvůrce
Avatar
martinkobelka:19.8.2012 16:41

Učím se escapování, a chtěl bych se zeptat, proč mám vlatně při vypisování proměnných do mysql_query proměnnou nejdřív prohnat mysql_real_es­cape_string()?, co by se stalo, kdybych ji neprohnal?

 
Odpovědět
19.8.2012 16:41
Avatar
Daniel Vítek
Tvůrce
Avatar
Odpovídá na martinkobelka
Daniel Vítek:19.8.2012 16:46

sdraco mi to krásně vysvětlil.
To by ti někdo do inputu mohl napsat :
''DELETE * FROM tabulka
A bylo by po srandě :)

Nahoru Odpovědět
19.8.2012 16:46
Na síti působím už pěknou řádku let. Pokud budeš něco potřebovat, písni mi, pokusím se ti poradit :)
Avatar
Kit
Tvůrce
Avatar
Odpovídá na martinkobelka
Kit:19.8.2012 16:51

Uživatel by do vstupního stringu mohl vložit apostrof. Tím by ukončil řetězec a další znaky by mohl zneužít pro změnu SQL dotazu. Říká se tomu SQL injection. Takto upravený dotaz by pak mohl třeba vypsat obsah databáze nebo ji zničit.

Modernější ovladače, např. PDO, umožňují používat tzv. parametrizované dotazy. V nich se již escapování, tedy funkce mysql_real_es­cape_string(), nepoužívá.

Nahoru Odpovědět
19.8.2012 16:51
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Don
Člen
Avatar
Odpovídá na Kit
Don:19.8.2012 20:41

Sice to moc nesouvisí s článek ale i přes to se zeptám. Ovladač mysqli má již ošetřeno escapování? Funkce mysqli_real_es­cape_string pro to je. V manuálu jsem o tom moc nenašel jaké rozdíly mezi ovladači mysqli a mysql jsou. Proto se ptám tu.

 
Nahoru Odpovědět
19.8.2012 20:41
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět
19.8.2012 20:46
One of the most common causes of failure is the habit of quitting when one is overtaken by temporary defeat.
Avatar
Don
Člen
Avatar
Odpovídá na David Čápka
Don:19.8.2012 20:48

Tenhle seriál mám pročtený. Hlavní rozdíl vidím v objektovém přístupu.

 
Nahoru Odpovědět
19.8.2012 20:48
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Don
Kit:19.8.2012 21:15

V MySQLi jsou použitelné obě techniky. Klasicky s escapováním nebo parametrizovaně bez escapování.

Nahoru Odpovědět
19.8.2012 21:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.