Estoy trabajando en una aplicación web de una sola página. Estoy haciendo la representación creando directamente nodos DOM. En particular, todos los datos suministrados por el usuario se agregan a la página creando nodos de texto con document.createTextNode("user data")
.¿CreateTextNode está completamente a salvo de la inyección de HTML y XSS?
¿Evita este enfoque la posibilidad de inyección de HTML, scripts de sitios cruzados (XSS) y todas las otras cosas malas que los usuarios pueden hacer?
No estoy familiarizado con PHP. ¿Ese ejemplo permite al usuario solicitar datos de otro lugar y tenerlos insertados como texto en la página? –
@breischl - El PHP toma la entrada de la cadena de consulta de la URL (que es datos externos) y la coloca en la salida sin escaparse. – Quentin
Pero aún se emitirá como texto sin formato, sin importar lo que haya en él, ¿verdad? Entonces, ¿no podrías hacer que el navegador hiciera algo, aparte de mostrar algo de texto? –