Tenía la impresión de que todo lo que tenía que hacer para hacer seguro JSON en línea era romper cualquier etiqueta de </script>
de cierre en cadenas, por ejemplo. escapa de /
like <\/script>
.
Sin embargo, encontré una combinación extraña que aún rompe mi página. El texto "No se imprimirá" no se mostrará en la página. El comentario HTML solo está bien, la etiqueta del script solo está bien, pero la combinación de los dos es letal. ¿Por qué es eso?
<!DOCTYPE html>
Before
<script>"<script>"</script>
fine
<script>"<!--"</script>
still fine
<script>"<!--<a>"</script>
fine again
<script>"<!--<script>"</script>
Won't print
Aparecerá como "Antes de estar bien todavía, todavía está bien, bien". "No se imprimirá" se tratará como parte de la etiqueta del script, que se tratará como no cerrada.