Как браузеры оценивают исходный домен для XMLHttpRequest? - PullRequest
1 голос
/ 22 июля 2011

Я думал, что исходным доменом для XMLHttpRequest был домен, который загрузил JavaScript, который его использует.

Например, он подумал, что если на странице http://mydomain1.com/ у меня есть:

<script src="http://mydomain2.com/script.js" />

script.js может взаимодействовать с mydomain2.com через XHR.Я подумал, что это одна из приятных вещей в jsonp.

В некоторых тестах я вижу некоторые доказательства того, что, хотя JS загружается с mydomain2.com, источником XHR по-прежнему является mydomain1.com.Я только что был далеко от базы все это время?

1 Ответ

1 голос
/ 22 июля 2011

Это домен страницы (возможно, во фрейме), который выполняет JavaScript.

Если бы он был из домена, в который был загружен JavaScript, что бы произошло со всеми людьми, использующими jQuery.ajax после загрузки jQuery из CDN (например, http://code.jquery.com/jquery-1.6.2.js)?; -)

JSONP не позволяет выступать в качестве другого домена, но позволяет внедрять из другого домена. URI source элемента script является не ограниченным тем же ограничением происхождения домена, что и XHR: таким образом, JSONP может использоваться для свободной отправки данных (в URI) и выполнения возвратил JavaScript (не JSON) напрямую в контексте текущей страницы.

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

Удачного кодирования.

...