API для межсайтового скриптинга?

Есть ли способ отправлять HTTP-запросы на несотрудничающие веб-сайты с помощью javascript? Я знаю, что это запрещено из-за той же политики происхождения, но есть ли способ сделать это, включая экспериментальные API, Java-апплеты, Flash, расширения браузера, скрытые настройки, специальные сертификаты и т. д.? Это нормально, если пользователь явно должен предоставить моей странице разрешения для доступа к другому сайту, на самом деле это было бы очень разумно.

Предыстория: я пытаюсь сделать своего рода мэшап, соскребая html с нескольких сайтов, и я хотел бы сделать это с IP-адреса пользователя, а не с моего сервера.


person jdm    schedule 30.08.2012    source источник
comment
Я не думаю, что это связано с XSS.   -  person Waleed Khan    schedule 30.08.2012
comment
Да, есть несколько способов. Наиболее надежным является прокси, который находится на вашем собственном сервере. Вот более простой способ, который я нашел прямо сейчас. Я также рекомендую использовать iframe, вы можете просто манипулировать его атрибутом src с помощью javascript.   -  person Leri    schedule 30.08.2012
comment
Я считаю, что все зрелые браузеры позволяют своим расширениям/плагинам выполнять междоменный доступ. Вероятно, вы могли бы написать плагины, которые извлекают информацию с междоменных сайтов, а затем предоставляют данные через API JavaScript. Проблема с таким подходом, конечно, заключается в том, что вам нужно поддерживать отдельное расширение для каждого отдельного браузера.   -  person apsillers    schedule 30.08.2012


Ответы (1)


Просто мысль. Если какой-либо из этих веб-сайтов использует JQuery, этот метод туннелирования может работать: http://benv.ca/2011/3/7/subdomain-tunneling-with-jquery-and-document-domain./

Создайте iframe на странице своего сайта, загрузите в него страницу с другого веб-сайта, замените объект jquery ajax вашей страницы объектом из iframe - и все готово!

Дайте знать, если попробуете :)

person jeremyj11    schedule 14.09.2012