2009-04-30 3 views
1

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

+2

Я вроде надеюсь, что нет. –

+0

Как браузер должен знать разницу между вашими «собственными» доменами и сайтом вредоносного ПО? –

+0

Я могу поместить что-нибудь в любое место в своих доменах, чтобы рассказать об этом. Например, для этого используется flash-файл crossdomain.xml. – kingoleg

ответ

2

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

Существует a specification for cross domain requests, но он все еще находится в стадии разработки.

+0

Да, апплет java не является выбором. – kingoleg

+0

И спасибо за ссылку на использование ресурсов Cross-Origin – kingoleg

1

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

+0

Другими словами, прокси-сервер, на который вопрос не разрешен. – jhocking

1

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

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

+0

AKA JSONP - http://en.wikipedia.org/wiki/JSON#JSONP - который упоминался как неприемлемый. – Quentin

1

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

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

0

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

<VirtualHost *:80> 
ServerAdmin [email protected] 
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> 

Cross site scripting with Apache

Смежные вопросы