En este artículo
Que es el escape de cadenas?
El escape de cadenas es el proceso de agregar caracteres especiales para que los caracteres con significado sintactico se traten como texto literal. Cada lenguaje de programacion y formato de datos reserva ciertos caracteres — comillas en JSON, angulos en HTML, signos de porcentaje en URLs.
Sin un escape adecuado, las cadenas con caracteres especiales causan errores de analisis, vulnerabilidades de seguridad como XSS e inyeccion SQL, o producen salida corrupta.
Formatos de escape explicados
Diferentes contextos tienen diferentes reglas de escape:
- Escape JSON — escapa comillas (\"), barras invertidas (\\) y caracteres de control (\n, \t, \r)
- Escape HTML — convierte < en <, > en >, & en &. Evita que los navegadores interpreten contenido como etiquetas HTML
- Codificacion URL — reemplaza caracteres inseguros con codigos hex %XX (espacio se convierte en %20)
- Escape SQL — duplica comillas simples (' se convierte en ''). Previene ataques de inyeccion SQL
- Escape regex — antepone barra invertida a metacaracteres como . * + ? para coincidir literalmente
Casos de uso comunes
El escape de cadenas aparece en todo el ciclo de desarrollo:
- Incrustar entrada de usuario — un escape correcto al insertar en JSON, HTML o SQL previene errores y vulnerabilidades
- Sanitizar formularios — las aplicaciones web deben escapar el contenido enviado antes de renderizarlo para prevenir XSS
- Construir payloads de API — al construir cuerpos de solicitud JSON, todos los valores de cadena deben estar correctamente escapados
Pruébalo gratis — sin registro
Probar la herramienta de escape →Escape vs Codificacion: cual es la diferencia?
Escape y codificacion se confunden frecuentemente. El escape agrega marcadores para que los caracteres se traten literalmente. La salida permanece en el mismo formato.
La codificacion convierte datos de una representacion a otra completamente. Base64 convierte datos binarios en texto ASCII. La distincion clave: el escape preserva el formato, la codificacion lo cambia.
Consejos y buenas practicas
Un escape correcto previene bugs, vulnerabilidades y corrupcion de datos:
- Escape en el limite — siempre escape cadenas en el punto donde entran en un nuevo contexto
- Evite el doble escape — si su framework ya escapa la salida, el escape manual adicional produce barras invertidas visibles
- Use escape especifico al contexto — el escape HTML no protege contra inyeccion SQL y viceversa
Preguntas frecuentes
Cuando debo escapar manualmente vs usar una biblioteca?
Siempre prefiera funciones de biblioteca. Los lenguajes proporcionan utilidades de escape integradas que manejan correctamente los casos limite.
El escape de cadenas previene todos los ataques XSS?
El escape HTML previene la mayoria de los ataques XSS pero no todos los vectores. El contenido en contextos JavaScript, CSS o URL requiere sanitizacion adicional. Los encabezados CSP proporcionan la proteccion mas fuerte.
En que orden escapar cuando los datos pasan por multiples formatos?
Escape primero para el contexto mas interno y luego trabaje hacia afuera. Por ejemplo, para incrustar una cadena en JSON que ira en un atributo HTML, primero escape JSON y luego HTML.