2010-01-19 2 views
10

Я прочитал вопрос здесь, в SO «jQuery Linking vs. Download», и я как-то не понимаю.«Та же политика происхождения» и скрипты, загруженные из Google - уязвимое решение?

Что произойдет, если вы разместите страницу на http://yourserver.com, но загрузите библиотеку jQuery с http://ajax.googleapis.com, а затем воспользуйтесь функциями, определенными в скрипте jQuery?

Имеет ли значение «такая же политика происхождения» в этом случае? Я имею в виду, можете ли вы позвонить AJAX обратно на http://yourserver.com?
Выполняется ли JavaScript считается исходящим из yourserver.com?

Моя точка зрения заключается в том, что вы не знаете, что пользователь скачал с какого-либо стороннего сервера (извините, Google), и все же код, выполняемый на его компьютере, так же хорош, как тот, который он будет загружать с вашего сервера?

EDIT: Это означает, что если я использую счетчик веб-статистики от третьего лица, я не очень хорошо знаю, они могут «ввести» некоторый код и позвонить в мои веб-службы, как если бы их код был частью мой?

+0

(Если вы используете обычный http, это не похоже на вы знаете, откуда приходит какой-либо код.) –

ответ

6

Владелец сайта http://yourserver.com/ должен доверять контенту, который он ссылается с других серверов (в данном случае Google). Такая же политика происхождения не применяется к тегам «script».

Конечно, скрипты внешних серверов (после загрузки) имеют доступ ко всей DOM: поэтому, если внешний контент скомпрометирован, могут возникать угрозы безопасности.

Как и во многих вещах в мире Интернета, оно сводится к довериям и непрерывному управлению.

Edit:

Означает ли это _that, если я использую веб- статистику счетчика из 3 партии я не очень хорошо знают, что они могли бы «впрыснуть» код и позвонить в мои веб-сервисы, как будто их код был частью моего?

Да.

+0

Благодарим вас за ответ. Я отмечаю это как принято, хотя мне все еще не нравится идея сторонних скриптов, находящихся на моей странице. Но, как вы говорите, это сводится к доверию ... или нет доверия ;-) – naivists

1

Да, политика не распространяется на теги <script>.

Если кто-то смог взломать хранилище скриптов Google, это повлияет на каждую страницу, обслуживаемую из каждого домена, которая использует google.com в качестве своего хоста для скриптов.

+0

та же самая политика происхождения - это набор правил для javascript. – rook

+0

Я понимаю, что это. Я хочу сказать, что это не относится к скриптам, загруженным из тегов