Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
Escape de Html y Javascipt

Estoy usando laminas-escaper para escapar valores en html y javascript. Obtengo valores del servidor usando ajax. Así que los escapo en php usando laminas-escape. Cuando busco los datos del servidor, los almaceno en una variable js y, a veces, incluso los muestro usando html. Por ejemplo en muestra.js:

 var xhttp = new XMLHttpRequest(); xhttp.open("POST", "process.php", true); xhttp.setRequestHeader("Content-Type", "application/json"); xhttp.onreadystatechange=function() { if (xhttp.readyState == 4 && xhttp.status == 200) { var response = JSON.parse(xhttp.responseText); var name = response.name; document.getElementById('demo').innerHTML = name; } } xhttp.send();

La respuesta que vino del servidor estará en formato json. Por ejemplo: '{name:xxx,address:yyy}'

Mi pregunta es si solo debo usar $ escaper->escapeJs($input) para escapar js, o solo usar $ escaper->escapeHtml($input) para escapar html o usar ambos. Si tengo que usar ambos, entonces en qué orden.

Nota: Realizo un escape en el servidor y envío el resultado al navegador.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe escapar los datos, en el último momento posible, de una manera adecuada para lo que los está inyectando.

Si está devolviendo JSON al navegador, debe dejar que la función json_encode de PHP haga el escape por usted.

Si está devolviendo HTML al navegador, su PHP debería escapar de los datos para insertarlos en HTML.

Si está inyectando los datos en JavaScript incrustado en medio de un documento HTML y luego devolviendo el HTML al navegador, entonces su PHP debe escapar tanto para JS como para HTML.

Si está convirtiendo texto sin formato en el navegador, entonces no debería escaparlo con PHP en absoluto. Si el navegador continúa insertando el texto devuelto en el DOM con JS del lado del cliente, cualquier escape que deba hacerse es algo que debe hacer el JS del lado del cliente.

Del mismo modo, si está devolviendo JSON que el JS del lado del cliente analiza y luego inserta en el HTML, PHP debe manejar cualquier escape para el JSON y el JS del lado del cliente debe manejar cualquier escape para el HTML.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda