SQL Escape/Unescape viittaa tekstisyöttöä puhdistavaan prosessiin, jotta se voidaan turvallisesti upottaa SQL-lausekkeisiin.
Escaping muokkaa erikoismerkkejä (kuten lainausmerkkejä tai kenoviivoja) tavalla, joka estää syntaksivirheitä tai haitallisen koodin suorittamisen.
Escaping-merkkien poistaminen muuntaa koodinvaihtomerkit takaisin alkuperäiseen muotoonsa, yleensä näyttöä tai jatkokäsittelyä varten.
Estääkseen SQL-injektiohyökkäyksiä, joissa haitallinen syöte voi muuttaa SQL-kyselyn logiikkaa.
Välttääkseen syntaksivirheitä kyselyissä, kun tiedot sisältävät merkkejä, kuten ', " tai \.
Tietojen eheyden ylläpitämiseksi varmistaen, että käyttäjän syöte tallennetaan ja noudetaan täsmälleen syötetyssä muodossa.
Escape-merkkien käyttö tapahtuu:
Käyttämällä kaksinkertaisia lainausmerkkejä merkkijonoissa (esim. 'O'Brien' muuttuu muotoon 'O''Brien').
Käyttämällä sisäänrakennettuja tietokantafunktioita tai kirjastoja syötteiden asianmukaiseen koodinvaihtoon.
Escape-merkkien käyttö tapahtuu, kun tiedon hakeminen, jota tietokanta tai sovelluskerros usein käsittelee automaattisesti.
Nykyaikaisessa kehityksessä tätä hallinnoidaan tyypillisesti parametroiduilla kyselyillä tai ORM:illä (Object-Relational Mappers), jotka käsittelevät koodinvaihdon turvallisesti ja automaattisesti.
Kun lisätään tai kysellään käyttäjän syötettä suoraan raakaan SQL:ään (ei suositella, ellei sitä ole asianmukaisesti koodinvaihdolla erotettu).
Kun käsitellään vanhoja järjestelmiä tai raakoja SQL-merkkijonoja, joissa automaattinen suojaus ei ole käytössä.
Käytä aina koodinvaihtoa, ellet käytä valmisteltuja lauseita tai parametrisoituja kyselyitä, jotka ovat suositeltavia ja turvallisempia vaihtoehtoja.