SQL escape/unescape se nanaša na postopek čiščenja vnosa besedila, da ga je mogoče varno vdelati v stavke SQL.
Ubežni znaki spremenijo posebne znake (kot so narekovaji ali poševnice nazaj) na način, ki preprečuje sintaktične napake ali izvajanje zlonamerne kode.
Ubežni znaki pretvorijo ubežne znake nazaj v prvotno obliko, običajno za prikaz ali nadaljnjo obdelavo.
Za preprečevanje napadov z injekcijo SQL, kjer lahko zlonamerni vnos spremeni logiko poizvedbe SQL.
Da se izognemo sintaktičnim napakam v poizvedbah, ko podatki vsebujejo znake, kot so ', " ali \.
Da ohranimo integriteto podatkov, zagotovimo, da se uporabniški vnos shrani in pridobi natančno tako, kot je bil vnesen.
Ubežanje se izvede z:
Podvojitvijo enojnih narekovajev v nizih (npr. 'O'Brien' postane 'O''Brien').
Uporabo vgrajenih funkcij baze podatkov ali knjižnic za pravilno ubežanje vnosov.
Unescape se pojavi pri pridobivanju podatkov, kar pogosto samodejno obdela baza podatkov ali vaša aplikacijska plast.
V sodobnem razvoju to običajno upravljajo parametrizirane poizvedbe ali ORM-ji (objektno-relacijski preslikovalniki), ki varno in samodejno obravnavajo ubežanje.
Pri vstavljanju ali poizvedovanju po uporabniškem vnosu neposredno v surovi SQL (ni priporočljivo, razen če je pravilno ubežano).
Pri delu s zastarelimi sistemi ali surovimi nizi SQL, kjer ni vzpostavljene samodejne zaščite.
Vode uporabljajte ubežne funkcije, razen če uporabljate pripravljene stavke ali parametrizirane poizvedbe, ki so prednostnejše in varnejše. alternative.