Межсайтовый скриптинг в AJAX между собственными доменами - PullRequest
1 голос
/ 30 апреля 2009

Если в любом случае разрешить AJAX между двумя собственными доменами без взлома прокси, JSONP, Flash или изменения безопасности браузера? Может SSL или что-то?

Ответы [ 6 ]

2 голосов
/ 01 мая 2009

Подписанный Java-апплет мог бы делать это, но это тот же принцип, что и во Flash, поэтому, вероятно, он не будет соответствовать вашим требованиям.

Существует спецификация для междоменных запросов , но она все еще находится в стадии разработки.

1 голос
/ 01 мая 2009

В тех случаях, когда у меня возникла аналогичная необходимость в работе с междоменными областями, я обошел его, используя встроенный iframe без полей того же цвета, что и страница встраивания. Это старая техника, предшествующая широкому использованию AJAX, и в наши дни она часто игнорируется из-за мышления «мы будем использовать AJAX». однако вы можете многое сделать с этим подходом, и этого может быть достаточно, если вы действительно застряли. Конечно, вы можете закодировать довольно сложные взаимодействия между встроенной и основной страницами, которые могут в некоторой степени создать впечатление, похожее на работу страницы с поддержкой AJAX.

Одна очевидная мысль, которая все же возникает, и одна, которую я никогда не пробовал - возможно ли встроить iframe для второго домена внутри главной страницы (т.е. первого домена) и связываться с главной страницей во второй домен через встроенный фрейм?

1 голос
/ 01 мая 2009

Вы можете попробовать технику, известную как 'Ajast' .

В основном ваш javascript в домене A добавляет дополнительные теги <script> по мере необходимости на страницу. Эти теги сценария указывают на файлы javascript в домене B (которые не обязательно должны быть статическими .js), что позволяет загружать данные из домена B.

1 голос
/ 01 мая 2009

Насколько я знаю, вам лучше всего создать серверный ресурс, на который вы можете перенаправлять вызовы AJAX, который перенаправит их на второй сервер в другом домене, а затем направит результаты обратно в ваше приложение.

0 голосов
/ 22 февраля 2011

Да, есть простой способ, если вы используете Apache. Измените настройки в файле httpd-vhosts.conf вашего apache (я использую Apache 2.2)

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.com
DocumentRoot “C:/apache-tomcat-6.0.29/webapps/myApplication”
ServerName skill-guru.com
ErrorLog “logs/skg1-error.log”
CustomLog “logs/skg1-access.log” common


Header set Access-Control-Allow-Origin “*”

<Directory “C:/apache-tomcat-6.0.29/webapps/myApplication”>
Options -Indexes FollowSymLinks
AllowOverride AuthConfig FileInfo
Order allow,deny
Allow from all
</Directory>

JkUnmount /*.jsp ajp13

</VirtualHost>

Межсайтовый скриптинг с Apache

0 голосов
/ 06 июля 2009

Просто используйте easyXDM , это позволяет легко общаться между документами разных доменов. Взгляните на один из примеров, http://consumer.easyxdm.net/current/example/methods.html

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