|
|
| Povezave |
|---|
|
Spletne strani Ključne besede Mali oglasi Mizarstvo Kuhinje |
|
|
| Povezave |
|---|
|
Spletne strani Ključne besede Mali oglasi Mizarstvo Kuhinje |
6. VARNOST
6.2 Ubežanje izhoda | 6.2 Ubežanje izhoda |
|
|
|
Izhod je vse, kar zapusti tvojo aplikacijo in gre do odjemalca. Odhodni podatki morajo biti ubežani (ang. escape). Medtem ko presejanje zaščiti tvojo aplikacijo pred škodljivimi podatki, ubežanje izhoda zaščiti odjemalca in uporabnika pred škodljivimi ukazi. Problem nastane, ker odjemalci (spletni brskalniki, podatkovni strežniki) pogosto nekaj naredijo, če naletijo na posebne znake. Za spletne brskalnike so posebni znaki HTML značke, za podatkovne strežnike pa so to narekovaji in SQL ključne besede. Podatki morajo biti ubežani ustrezno naslovniku. Za ubežanje izhoda namenjenega brskalniku, v PHP obstajata funkciji htmlspecialchars() in htmlentities(). Funkcija htmlentities() je bolj izčrpna in je zato priporočena funkcija za ubežanje. Drug koncept za shranjevanje izhoda je uporaba točno določeno oblikovanega polja. Če pripraviš izhod z ubežanjem in ga shraniš v to določeno polje, lahko kasneje uporabiš njeno vsebino, ne da bi te skrbelo, če je bil izhod ubežan. Naslednja koda prikazuje uporabo htmlentities(). Predvidevajmo, da vrednost za $sporocilo_uporabnika prihaja iz skupka izidov podatkovne zbirke. $html = array(); $html[’sporocilo’] = htmlentities($sporocilo_uporabnika, ENT_QUOTES, ’UTF-8’); echo $html[’sporocilo’]; Izhod namenjen zbirkinemu strežniku urediš z mysql_escape_string() funkcijo. |