Я лично обертываю все свои комментарии в комментарии:
/* {
"foo": 3,
"bar": "string with *\x2F sequence in"
} */
и удалите это перед JSON.parsing. Это делает его бесполезным в качестве цели для тегов скрипта.
Стоит отметить, что эта проблема связана не только с JSON, но и с любым ответом HTTP, который вы обслуживаете, который может быть интерпретирован как JavaScript. Даже, скажем, текстовый файл с защитой .htaccess уязвим для утечки при включении сторонних тегов сценария, если он находится в формате, который является допустимым JavaScript.
И вот в чем дело: благодаря E4X даже обычные статические XML-документы также являются допустимым JavaScript. E4X - катастрофическое и бесполезное расширение для JavaScript, реализованное и изобретенное в Mozilla, которое позволяет писать <element>content</element>
встроенных XML-литералов в JS; Таким образом, защищенный XML-файл теперь уязвим к тем же рискам межузловой утечки, что и JSON. Спасибо, Мозилла. См. Статью Google doctype .