Portál AbcLinuxu, 9. května 2025 01:01
Tento dotaz funguje výborne až pokiaľ $_GET[kod_tovaru] neobsahuje reťazec napr "DVD + RW BENQ 10CAKE" a práve v tom pluse je problé a fakt som toho riešil dosť a toto ma dorazilo, mám toho plné zuby, prosím helpnite, prečo mi zožiera nervy a to je už 1:34.
$vysledok = mysql_query('DELETE FROM Kosik WHERE Id="'.$_GET[id].'" && Kod_tovaru="'.$_GET[kod_tovaru].'"');
Asi preto že je veľa hodín mi nedoplo, vyriešil som to rawurlencode / rawurldecode.
'; drop table Kosik;
Nestane sa nič, lebo ho zoberie ako reťazec, je ohraničený do úvodzoviek :)
To právě ne. Proto je na začátek toho kódu zboží ukončení uvozovek.
Nie nejde. Cely dotaz sa posklada a az potom vykona takze tie dvojite uvodzovky tam uz nebudu.
Precitaj nejake clanky o SQL injection. Je toho na webe mraky. Zaklad je neskladat sql dynamicky zo stringov takymto sposobom pretoze potom to musis len nejako obskurne parsovat na klucove slova a znaky co sa ti bud nemusi kompletne podarit alebo budes mat obmedzenia co mozes zadat do parametrov a nezadas napr O'Brian ako priezvisko pretoze to ma apostrof. Riesi sa to vacsinou tak ze volas procedury alebo predavas hodnoty do dotazu ako parameter.
V praxi sa nestane nič, MySQL narazí na problém s neuzatvorenými úvodzovkami a príkaz sa nevykoná, je zaujímavé že keď to skúšam cez phpmyadmin tak sa tabuľka zmaže a vyhodí chybu s dvojitímy úvodzovkami, zaujímalo by ma prečo?
Testovať online môžete na http://vmshoping.yw.sk/
Je to free server a je nenormálne pomalí, aspoň väčšinou, mám tam jednu funkciu na overovanie čo mu dáva zabrať (dočasne, potom pôjde preč), ale aj tak to čo u mňa na localhoste zchrastí za 1sec tam to trvá 10 a viac, ako dnes 30sec.
a co magic_quotes_gpc?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.