Skip to main content
CheckTown
Dev Tools

Escape de strings: Como lidar com caracteres especiais em codigo

Publicado 6 min de leitura
Neste artigo

O que e escape de strings?

Escape de strings e o processo de adicionar caracteres especiais para que caracteres com significado sintatico sejam tratados como texto literal. Cada linguagem de programacao e formato de dados reserva certos caracteres — aspas em JSON, colchetes angulares em HTML, sinais de porcentagem em URLs.

Sem escape adequado, strings com caracteres especiais causam erros de parsing, vulnerabilidades de seguranca como XSS e injecao SQL, ou produzem saida corrompida.

Formatos de escape explicados

Diferentes contextos tem diferentes regras de escape:

  • Escape JSON — escapa aspas (\"), barras invertidas (\\) e caracteres de controle (\n, \t, \r)
  • Escape HTML — converte < para &lt;, > para &gt;, & para &amp;. Impede navegadores de interpretar conteudo como tags HTML
  • Codificacao URL — substitui caracteres inseguros por codigos hex %XX (espaco vira %20)
  • Escape SQL — duplica aspas simples (' vira ''). Previne ataques de injecao SQL
  • Escape regex — adiciona barra invertida antes de metacaracteres como . * + ? para correspondencia literal

Casos de uso comuns

Escape de strings aparece em todo o ciclo de desenvolvimento:

  • Incorporar entrada do usuario — escape correto ao inserir em JSON, HTML ou SQL previne erros e vulnerabilidades
  • Sanitizar formularios — aplicacoes web devem escapar conteudo enviado antes de renderizar para prevenir XSS
  • Construir payloads de API — ao construir corpos de requisicao JSON, todos os valores de string devem ser corretamente escapados

Experimente gratuitamente — sem cadastro

Experimentar a ferramenta de Escape →

Escape vs Codificacao: qual a diferenca?

Escape e codificacao sao frequentemente confundidos. O escape adiciona marcadores para que caracteres sejam tratados literalmente. A saida permanece no mesmo formato.

A codificacao converte dados de uma representacao para outra. Base64 converte dados binarios em texto ASCII. A distincao chave: escape preserva o formato, codificacao o altera.

Dicas e boas praticas

Escape correto previne bugs, vulnerabilidades e corrupcao de dados:

  • Escape na fronteira — sempre escape strings no ponto onde entram em um novo contexto
  • Evite escape duplo — se o framework ja escapa a saida, escape manual produz barras invertidas visiveis
  • Use escape especifico ao contexto — escape HTML nao protege contra injecao SQL e vice-versa

Perguntas frequentes

Quando devo escapar manualmente vs usar uma biblioteca?

Sempre prefira funcoes de biblioteca. Linguagens fornecem utilitarios integrados que lidam corretamente com casos extremos.

Escape de strings previne todos os ataques XSS?

Escape HTML previne a maioria dos ataques XSS mas nao todos os vetores. Conteudo em contextos JavaScript, CSS ou URL requer sanitizacao adicional. Headers CSP fornecem a protecao mais forte.

Em que ordem escapar quando dados passam por multiplos formatos?

Escape primeiro para o contexto mais interno. Por exemplo, para incorporar uma string em JSON que sera colocada em um atributo HTML, primeiro JSON-escape depois HTML-escape.

Ferramentas relacionadas