Passa al contenuto principale

12. Security Considerations (Considerazioni sulla sicurezza)

In generale, ci sono problemi di sicurezza con i linguaggi di scripting. JSON è un sottoinsieme di JavaScript ma esclude l'assegnazione e l'invocazione.

Poiché la sintassi di JSON è presa in prestito da JavaScript, è possibile utilizzare la funzione eval() di quel linguaggio per analizzare la maggior parte dei testi JSON (ma non tutti; alcuni caratteri come U+2028 LINE SEPARATOR e U+2029 PARAGRAPH SEPARATOR sono legali in JSON ma non in JavaScript). Questo costituisce generalmente un rischio di sicurezza inaccettabile, poiché il testo potrebbe contenere codice eseguibile insieme a dichiarazioni di dati. La stessa considerazione si applica all'uso di funzioni simili a eval() in qualsiasi altro linguaggio di programmazione in cui i testi JSON sono conformi alla sintassi di quel linguaggio.