Il link prende il contenuto simile a JSON e lo converte in JSON che è sicuro da valutare come codice sorgente JavaScript e che può essere incorporato in HTML <script>
elementi e in XML <![CDATA[...]]>
sezioni.
Ad esempio, dato
{
key1: "user_input",
key2: ["user_input1", "user_input2"]
}
Conserva diverse proprietà:
- Le chiavi devono essere citate correttamente.
- Le parentesi corrispondono.
- Tutti i caratteri newline JavaScript (CR, LF, U + 2028, U + 2029) nelle stringhe sono
\u....
escape.
- Quotes (
"
), backslash ( \
) sono \u....
di escape per garantire che le stringhe non finiscano prematuramente.
- Le parentesi angolari (
<
e >
) sono \u....
di escape se necessario per impedire alle stringhe di contenere il testo letterale </script
o ]]>
che impedirebbe l'incorporamento.
- Tutti i caratteri di controllo (in realtà i caratteri non consentiti in XML) sono
\u....
con escape compreso U + 0-U + 1F escluso tab, U + 7F, U + FFFE, U + FFFF.
- I sostituti orfani UTF-16 sono
\u....
con escape.
- Tutte le sequenze di escape vengono convertite in sequenze di escape JSON valide, inclusi escape ottali (
2
), escape esadecimale a due cifre ( \x0A
) e escape di caratteri singoli ( \!
).
Può essere una buona idea per \u....
sfuggire a cose come +
a defang UTF-7.