SQL Escape/Unescape verwijst naar het proces van het opschonen van tekstinvoer zodat deze veilig in SQL-instructies kan worden opgenomen.
Escaping wijzigt speciale tekens (zoals aanhalingstekens of backslashes) op een manier die syntaxisfouten of de uitvoering van schadelijke code voorkomt.
Unescape converteert de geëscapete tekens terug naar hun oorspronkelijke vorm, meestal voor weergave of verdere verwerking.
Om SQL-injectieaanvallen te voorkomen, waarbij schadelijke invoer de logica van een SQL-query kan wijzigen.
Om syntaxisfouten in query's te voorkomen wanneer gegevens tekens zoals ', " of \ bevatten.
Om de gegevensintegriteit te behouden, door ervoor te zorgen dat gebruikersinvoer exact zoals ingevoerd wordt opgeslagen en opgehaald.
Escapen gebeurt door:
Het verdubbelen van enkele aanhalingstekens in strings (bijv. 'O'Brien' wordt 'O''Brien').
Het gebruiken van ingebouwde databasefuncties of -bibliotheken om invoer correct te escapen.
Unescaping vindt plaats bij het ophalen van de gegevens, vaak automatisch afgehandeld door de database of uw applicatielaag.
In moderne ontwikkeling wordt dit meestal beheerd door geparameteriseerde query's of ORM's (Object-Relational Mappers), die escapen veilig en automatisch afhandelen.
Bij het invoegen of opvragen van gebruikersinvoer rechtstreeks in onbewerkte SQL (niet aanbevolen, tenzij correct geëscaped).
Bij het werken met verouderde systemen of onbewerkte SQL-strings waar geen automatische beveiliging is ingesteld.
Escape altijd invoer, tenzij u voorbereide statements of geparameteriseerde query's gebruikt, die zijn de voorkeurs- en veiligere alternatieven.