SQL Escape/Unescape bezeichnet den Prozess der Bereinigung von Texteingaben, damit diese sicher in SQL-Anweisungen eingebettet werden können.
Escaping verändert Sonderzeichen (wie Anführungszeichen oder Backslashes) so, dass Syntaxfehler oder die Ausführung von Schadcode verhindert werden.
Unescapeing wandelt die Escape-Zeichen in ihre ursprüngliche Form zurück, üblicherweise für die Anzeige oder Weiterverarbeitung.
Um SQL-Injection-Angriffe zu verhindern, bei denen Schadcode die Logik einer SQL-Abfrage verändern kann.
Um Syntaxfehler in Abfragen zu vermeiden, wenn Daten Zeichen wie ', " oder \ enthalten.
Um die Datenintegrität zu wahren und sicherzustellen, dass Benutzereingaben genau so gespeichert und abgerufen werden, wie sie eingegeben wurden.
Escaping erfolgt durch:
Verdoppelung einfacher Anführungszeichen in Zeichenfolgen (z. B. wird aus 'O'Brien' 'O''Brien').
Verwendung integrierter Datenbankfunktionen oder Bibliotheken zum korrekten Escapen von Eingaben.
Unescape erfolgt beim Abrufen der Daten und wird häufig automatisch von der Datenbank oder Ihrer Anwendungsebene durchgeführt.
In der modernen Entwicklung wird dies typischerweise durch parametrisierte Abfragen oder ORMs (Object-Relational Mapper) verwaltet, die das Escapen sicher und automatisch handhaben.
Beim Einfügen oder Abfragen von Benutzereingaben direkt in reinem SQL (nicht empfohlen, sofern nicht ordnungsgemäß escaped).
Beim Umgang mit Legacy-Systemen oder reinen SQL-Strings, bei denen kein automatischer Schutz vorhanden ist.
Escapen Sie Eingaben immer, es sei denn, Sie verwenden vorbereitete Anweisungen oder parametrisierte Abfragen. welche die bevorzugten und sichereren Alternativen sind.