Ho avuto l'impressione che tutto ciò che dovevo fare per rendere sicuro JSON in linea consistesse nel rompere qualsiasi tag di chiusura </script>
nelle stringhe, ad es. sfuggi al /
come <\/script>
.
Tuttavia ho trovato una strana combinazione che rompe ancora la mia pagina. Il testo "Non stamperà" non verrà stampato nella pagina. Il solo commento HTML va bene, il tag script va bene, ma la combinazione dei due è letale. Perché è così?
<!DOCTYPE html>
Before
<script>"<script>"</script>
fine
<script>"<!--"</script>
still fine
<script>"<!--<a>"</script>
fine again
<script>"<!--<script>"</script>
Won't print
Viene visualizzato come "Prima ancora bene ancora bene". "Will not print" verrà trattato come parte del tag script, che verrà trattato come non chiuso.