Межсайтовый скриптинг AJAX между собственными доменами

StackOverflow https://stackoverflow.com/questions/808748

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

Да, если вы используете 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top