Я использую Backbone.js и веб-сервер Tornado. Стандартное поведение для получения данных коллекции в Backbone - отправка в виде массива JSON.
С другой стороны, стандартное поведение Tornado не допускает использование JSON Array из-за следующей уязвимости:
http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx
Связанный является: http://haacked.com/archive/2009/06/25/json-hijacking.aspx
Для меня более естественно, что мне не нужно заключать JSON в объект, когда это действительно список объектов.
Мне не удалось воспроизвести эти атаки в современных браузерах (то есть в современных Chrome, Firefox, Safari и IE9). В то же время я нигде не смог подтвердить, что современные браузеры решили эти проблемы.
Чтобы убедиться, что меня не вводят в заблуждение ни какие-либо возможные плохие навыки программирования или плохие навыки поиска в Google:
Являются ли эти атаки JSON Hijacking все еще проблемой современных браузеров?
(Примечание: извините за возможный дубликат: возможно ли выполнить «захват JSON» в современном браузере? Но так как принятый ответ, похоже, не отвечает на вопрос - я подумал, что пришло время задать его снова и получить более четкие объяснения .)