
Potřebuju poradit s PHP kódem
Zdravím. Potřeboval bych si upravit soubory z phpRS tak, aby se po kliknutí na odkaz změnil vzhled webu, jako je to popsané tady: odkaz.
V komentáři pod článkem jsem však narazil na tohle:
Obsah COOKIE je nutné ošetriť pred SQL injection, inak si koliduješ o problémy.
...and $_COOKIE[vzhled]=g.ids",$dbspojeni)
Nevím ale, kam to mám do toho kódu napsat. Je to vůbec třeba? Co se může stát, když to takto "neošetřím"?
Keďže očakávaš, že ti klient pošle v cookie číslo, tak je dobré to ošetriť tak, aby tam číslo naozaj bolo. Najjednoduchšie je upraviť podmienku pred zavolaním SQL príkazu:
Alebo sa to dá zapísať aj kratšie:
Lepšie by bolo ukladať si výsledok inde než do $_COOKIE["vzhled"], aby si vedel, v ktorej premennej máš hodnotu od používateľa a kde už máš ošetrenú hodnotu.
Bez ošetrenia SQL injection sa môže stať všeličo (prepísanie dát v tabuľkách, vymazanie tabuliek a pod.). V tomto konkrétnom prípade mi nenapadol nijaký tragický útok, ktorého dôsledkom by bola strata dát. To platí za predpokladu, ak nie je povolené používať viacero SQL príkazov oddelených bodkočiarkou - záleží od typu databázy, napr. mysql_query to nepodporuje. V každom prípade by sa však asi dal vyradiť SQL server nejakým DoS útokom.
Lepšie, než rozmýšľať, čo všetko by sa mohlo pokaziť, je napísať to poriadne - je to menej namáhavé.
Díky za reakci. Takže tím, co jsi napsal, mám nahradit podmínku v config.php na řádku 101?
Takže
nahradit za
?
Změní se tedy pouze to, že přibude řádek s "else". Už to trochu chápu.
Jenom šoupnu starší téma o něco výš. Ptám se, jestli je to tak, jak jsem psal v příspěvku výše, správně. Chci mít jistotu, než do toho začnu vrtat.