Az SQL escape/unescape a szövegbevitel megtisztítására utal, hogy biztonságosan beágyazható legyen az SQL utasításokba.
Az Escape módosítja a speciális karaktereket (például idézőjeleket vagy perjeleket) oly módon, hogy megakadályozza a szintaktikai hibákat vagy a rosszindulatú kód végrehajtását.
Az Unescape visszaalakítja az escape karaktereket eredeti formájukba, általában megjelenítés vagy további feldolgozás céljából.
Az SQL injekciós támadások megelőzése, ahol a rosszindulatú bevitel megváltoztathatja az SQL lekérdezés logikáját.
A szintaktikai hibák elkerülése érdekében a lekérdezésekben, amikor az adatok olyan karaktereket tartalmaznak, mint a ', " vagy \.
Az adatok integritásának megőrzése érdekében, biztosítva, hogy a felhasználói bemenet pontosan úgy kerüljön tárolásra és lekérésre, ahogyan beírta.
A kijelölés a következőképpen történik:
Duplázza az aposztrófokat a karakterláncokban (pl. 'O'Brien' 'O''Brien' lesz).
Beépített adatbázisfüggvények vagy könyvtárak használata a bemenetek megfelelő kijelöléséért.
A kijelölés visszavonása akkor történik, amikor az adatok lekérése, amelyet gyakran automatikusan kezel az adatbázis vagy az alkalmazásréteg.
A modern fejlesztésben ezt jellemzően paraméterezett lekérdezések vagy ORM-ek (Object-Relational Mappers) kezelik, amelyek biztonságosan és automatikusan kezelik az escape-elést.
Felhasználói bemenet közvetlen nyers SQL-be való beszúrásakor vagy lekérdezésekor (nem ajánlott, kivéve, ha megfelelően escape-elve van).
Ha örökölt rendszerekkel vagy nyers SQL-karakterláncokkal foglalkozik, ahol nincs automatikus védelem.
Mindig escape-elje a bemeneteket, kivéve, ha előre elkészített utasításokat vagy paraméterezett lekérdezéseket használ, amelyek az előnyben részesített és biztonságosabb alternatívák.