Межсайтовый скриптинг поможет? - PullRequest
0 голосов
/ 27 мая 2010

У меня есть фрагмент javascript, выполняющийся на джет-сервере, который отправляет запрос XMLHTTP в scoket на другом сервере (сервер wamp) Запрос отправляется в сокет, однако XHR-ответ кажется заблокированным. Мои единственные мысли по этому поводу - это может быть проблема с XSS (межсайтовый скриптинг). Есть ли способ, с помощью которого я мог бы включить межсайтовый скриптинг для этого конкретного запроса, или есть что-то еще, что я должен делать? Любая помощь будет принята с благодарностью!

Ответы [ 4 ]

3 голосов
/ 27 мая 2010

Звучит примерно так. Междоменная политика браузера блокирует запросы XHR к другим доменам. Попробуйте использовать технику JSONP , чтобы обойти это.

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

Удачи!

1 голос
/ 27 мая 2010

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

Точный пример междоменного ajax см. Здесь http://consumer.easyxdm.net/current/example/xhr.html

Кстати, это то, что русская версия Facebook (vkontakte, более 75 пользователей) использует для своего API.

0 голосов
/ 28 мая 2010

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

Следующая статья объясняет мою проблему под фоновым заголовком. и в четвертом столбце таблицы.

http://taossa.com/index.php/2007/02/08/same-origin-policy/

0 голосов
/ 27 мая 2010

Вы не можете делать xmlhttprequests на другие серверы. У вас есть 2 варианта

  • прокси через сервер, который обслуживает javascript.
  • используйте тег <script> для извлечения данных с другого сервера, используя динамически генерируемые js на этом сервере.
...