JSON/JSONP как использовать для (;;); в откосе тела

Я не могу найти способ игнорировать for(;;); в теле ответа моих междоменных запросов JSONP. Я делаю это на своих серверах, здесь больше ничего не происходит. Я пытаюсь включить это for(;;); внутри тела ответа моего обратного вызова как такового:

_callbacks_.callback(for(;;);[jsondata....]);

но как я могу удалить его из тела ответа до анализа кода JS? Я использую библиотеку Google Closure кстати.

1 ответ

Решение

Ладно, думаю, я понял это. Причина, почему для (;;); Это необходимо для предотвращения междоменных запросов данных определенной информации. Таким образом, в основном, если у вас есть информация, которую вы пытаетесь защитить, вы проходите через обычный канал AJAX JSON, и если вы храните данные на нескольких серверах, вы имеете дело с ними на уровне сервера.

Запросы JSONP на самом деле являются удаленным включением сценария, что означает, что все, что выводит сервер, является фактическим кодом Javascript, так что если у вас есть for(;;); до вашего _callbacks_.callback(); код будет выполнен в исходном домене при успешном выполнении запроса. Если это бесконечный цикл for, он, очевидно, заклинит страницу.

Итак, нормальный метод реализации следующий:

  1. Отправьте обычный запрос Ajax в файл, расположенный на том же сервере.
  2. Выполните работу на уровне сервера и отправляйте запросы на внешние серверы через зашифрованный CURL.
  3. Добавьте защиту к ответу сервера (for(;;); или же while(1); или же throw(1); с последующим <prevent eval statements> строка.
  4. Получить ответ в виде текстовой строки.
  5. Удалите ваши реализации безопасности из строки. Преобразуйте строку (которая теперь является "строкой JSON") в объект / массив JS и т. Д. С помощью стандартного анализатора JSON.
  6. Делайте все, что вы хотите сделать с данными.

Просто подумал, что я должен выложить это здесь на случай, если кто-то еще будет Google это в будущем, так как я не нашел нужной информации от Google-ing. Это должно помочь предотвратить подделку междоменных запросов.

Другие вопросы по тегам