SQL escape/unescape refere-se ao processo de limpeza de entrada de texto para que ela possa ser incorporada com segurança em instruções SQL.
Escape modifica caracteres especiais (como aspas ou barras invertidas) de forma a evitar erros de sintaxe ou execução de código malicioso.
Unescaping converte os caracteres de escape de volta à sua forma original, geralmente para exibição ou processamento posterior.
Para prevenir ataques de injeção de SQL, onde entradas maliciosas podem alterar a lógica de uma consulta SQL.
Para Evite erros de sintaxe em consultas quando os dados contêm caracteres como ', " ou \.
Para manter a integridade dos dados, garantindo que a entrada do usuário seja armazenada e recuperada exatamente como inserida.
O escape é feito por:
Usar aspas simples duplas em strings (por exemplo, 'O'Brien' se torna 'O''Brien').
Usar funções ou bibliotecas integradas do banco de dados para escapar entradas corretamente.
O escape ocorre ao recuperar os dados, geralmente tratado automaticamente. pelo banco de dados ou pela camada de aplicação.
No desenvolvimento moderno, isso normalmente é gerenciado por consultas parametrizadas ou ORMs (Mapeadores Objeto-Relacionais), que lidam com escapes de forma segura e automática.
Ao inserir ou consultar a entrada do usuário diretamente em SQL bruto (não recomendado, a menos que o escape esteja correto).
Ao lidar com sistemas legados ou strings SQL brutas onde a proteção automática não está em vigor.
Sempre escape entradas, a menos que use instruções preparadas ou consultas parametrizadas, que são as alternativas preferenciais e mais seguras.