Entrada

Modo:

Saída

O que é SQL Escape?

Alguma vez construiu uma consulta SQL com dados do utilizador que falhou porque alguém escreveu um nome como O'Brien? Esse apóstrofo quebra a consulta — e sem escape, abre a porta a ataques de SQL injection, uma das vulnerabilidades mais comuns no OWASP Top 10. O SQL escape converte caracteres especiais para que as strings possam ser incorporadas em segurança nas consultas SQL. Embora as consultas parametrizadas sejam o padrão recomendado, o escape manual ainda é necessário em sistemas legados. Referências: documentação de strings PostgreSQL e literais de string MySQL.

O escape mais comum em SQL é dobrar aspas simples: ' se torna ''.

Como usar a ferramenta SQL Escape

1

Cole sua string SQL

Cole a string SQL que deseja escapar no editor de entrada.

2

Escolha um modo

Selecione Escapar ou Des-escapar.

3

Copiar ou baixar

Copie o resultado ou baixe como arquivo .sql.

Exemplo de SQL Escape

Aqui está um exemplo de escape de string SQL:

String SQL bruta

String SQL de entrada

String SQL escapada

SQL escapado

Quando o SQL Escape é importante?

Sempre escape entradas do usuário antes de incluí-las em consultas SQL para prevenir ataques de SQL injection.

Para formatar suas consultas SQL, use o formatador SQL.

Perguntas frequentes

Que caracteres trata o SQL escape?

Aspas simples ' são dobradas para '' (SQL padrão). Barras invertidas \ são dobradas para \\ (MySQL e outros). Cobre MySQL, PostgreSQL, SQLite e SQL Server.

Devo usar SQL escape em vez de consultas parametrizadas?

Não — as consultas parametrizadas são sempre a abordagem preferida para novo código. O SQL escape é útil em sistemas legados ou ao higienizar dados fora do código da aplicação.

Funciona para MySQL, PostgreSQL e SQL Server?

Sim para casos comuns. Dobrar aspas simples é padrão em todas as bases de dados principais. O escape de barras invertidas é específico do MySQL — o PostgreSQL usa dobramento padrão ou strings E'...'.

Os meus dados SQL são enviados para um servidor?

Não. Tudo é processado no seu navegador. As suas strings SQL nunca saem do dispositivo — sem backend, sem registo.

O que é SQL injection e como o escape ajuda?

O SQL injection é um ataque onde entradas maliciosas executam comandos SQL não intencionais. O escape correto impede que os caracteres injetados sejam interpretados como sintaxe SQL.

Ferramentas relacionadas

Referências: OWASP SQL Injection