webzdarma.cz
>info>registrace>katalog>podminky>podpora>forum>reklama>kontakt
 Nové téma | Témata | Strukturovaně | Přihlášení 
 Diskuze | Následující téma | Předcházející téma 
  >forum

 ochrana při vkládání do databáze
Autor: Magnus (middleage.xf.cz)
Datum:  15. 12. 2011 21:13

Ahoj.

Chtěl bych se zeptat, musím nějak ošetřit vstupní data, která vkládám do databáze (INSERT)?

Reagovat 
 
 Re: ochrana při vkládání do databáze
Autor: Freeze (dreamer.kvalitne.cz)
Datum:  15. 12. 2011 22:22

Záleží na datech. Obecně ano.

Pro celá čísla intval(), pro texty (a databáze MySQL) mysql_real_escape_string(), atd. Číselný intval() má ale samozřejmě potenciální nevýhodu, že může data změnit (tzn. některé chyby se hůř hledají).

___
Co si pamatuju, pro sqlite existoval ekvivalent mysql_real_escape_string(), jak přesně se volal/jmenoval nevím.

Reagovat 
 
 Re: ochrana při vkládání do databáze
Autor: Magnus (middleage.xf.cz)
Datum:  15. 12. 2011 22:28

Vím, že musím ošetřovat data při SELECTu, ale u INSERTu jsem si nebyl jistý. Děkuji, Freeze, za odpověď. ;)

Reagovat 
 
 Re: ochrana při vkládání do databáze
Autor: Freeze (dreamer.kvalitne.cz)
Datum:  15. 12. 2011 23:19

Princip SQL injection nespočívá v tom, o jaký typ dotazu se jedná ;)

___
Mimochodem v PHP je nebezpečí SQL injection trochu limitované ze strany funkcí pro obsluhu MySQL. Klasické SQL injection lze využít k provedení více dotazů najednou (ukončení prvního a přidání následujících, např.: "; DROP TABLE tabulka;--). Vestavěné databázové funkce v PHP však mají vnitřní omezení pouze na jeden dotaz a další ignorují (v případě s DROP TABLE by se žádné smazaní neprovedlo). Přesto je nutné data kontrolovat (protože ani toto "omezení" nezabrání modifikaci toho první dotazu, který se opravdu provede). To tak pro informaci.

Reagovat 
 
 Re: ochrana při vkládání do databáze
Autor: Kit (ekobrikety.vyrobce.cz)
Datum:  15. 12. 2011 23:29

SQL injection se dá bránit i používáním tzv. parametrizovyných dotazů. Ovladač MySQL je bohužel neumí, ale MySQLi a PDO je už umí. Vstupy pak není nutné nijak ošetřovat.

Reagovat 
 Nové téma | Témata | Strukturovaně | Přihlášení   Diskuze | Následující téma | Předcházející téma 

 Diskuze | Zaregistrujte se zde 
 Přihlášení Uživatele
 Uživatelské jméno:
 Heslo:
   

(c) 2002 - 2014 AYA s.r.o. prověřený webhosting