Как сделать кросс-домен Ajax в этом состоянии? - PullRequest
2 голосов
/ 21 июня 2011

Существует страница: http://renren.com/echo (не настоящая), которая будет возвращать данные в стиле JSON, такие как:

{"candidate":[{"id":251574647,"name":"Jack"}]}  

Теперь я нахожусь на http://my -server.com и хочу сделать междоменный запрос Ajax.
Из-за того, что для просмотра страницы со страницы http://renren.com необходимо войти в систему, я не могу использовать прокси-сервер.
Возвращенные данные JSON не имеют вызова функции или назначения, поэтому я не могу использовать JSONP.
Я не имею права изменять страницу на renren.com. Что я могу сделать в этом состоянии?

Ответы [ 4 ]

0 голосов
/ 21 июня 2011

Техника, описанная Brian Chess et.и др.в следующем документе может быть полезным в этом случае.Короче говоря, вы переопределяете установщик JavaScript, который используется для обработки входящего JSON.

https://www.fortify.com/downloads2/public/JavaScript_Hijacking.pdf

Когда массив JSON прибывает на клиент, он будет оцениваться в контекстевредоносной страницы.Чтобы засвидетельствовать оценку JSON, вредоносная страница переопределила функцию JavaScript, используемую для создания новых объектов.Таким образом, вредоносный код вставил хук, который позволяет ему получить доступ к созданию каждого объекта и передать содержимое объекта обратно на вредоносный сайт.

0 голосов
/ 21 июня 2011

Вы можете использовать mod_proxy Apache для выполнения этого запроса под видом вашего домена. Настройте URL-адрес, например http://my -server.com / renren , в качестве прокси для http://renren.com/echo.

После этого вы можете отправлять запросы AJAX на http://my -server.com / renren и избегать междоменных ограничений.

0 голосов
/ 21 июня 2011

Если вы работаете в кросс-доменах, вы не можете полагаться на AJAX. Вы должны будете использовать тип вызова cURL через свои собственные сценарии PHP / ASP для вызова данных из файлов другого домена.

0 голосов
/ 21 июня 2011

Я не думаю, что вы можете многое сделать без прокси-страницы или контроля над тем, как возвращаются данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...