2009-07-28 3 views
0

Я узнал концепцию Javascript того же источника происхождения, что означает, что код Javascript может иметь доступ только к хосту, на котором он загружается.Javascript тот же источник проблемы безопасности

Мое замешательство, я разработал код Javascript, сохранил код локально в .js-файле и вызвал код Javascript из другого локального файла html. Когда я использую IE для открытия локального html-файла, я считаю, что Javascript может получить доступ к любому хосту, например Google и Bing.

Вот мой код. Мое недоразумение, похоже, что Javascript же самое первоначальное ограничение безопасности не распространяется на локально запущенный Javascript?

Javascript XMLHttpRequest issue

спасибо заранее, Джордж

ответ

1

Когда вы говорите, 'доступ к любому узлу', что вы имеете в виду?

Вы имеете в виду, что вы получаете уведомление о том, когда ваш код загружает URL-адрес в google, или вы имеете в виду, что вы можете опросить HTML-DOM загружаемой страницы.

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

+0

Спасибо, Дэвид, я имею в виду, что я могу отправить запрос и получить ответ с google.com. Я думаю, что это нарушает такую ​​же политику происхождения? – George2

2

Такая же политика происхождения означает, что запросы xmlhttp могут быть выполнены в том же домене, из которого js загружается и выполняется, он применяется всеми браузерами, также, если вы разрабатываете код ajax, нет смысла в выполнении это из другого домена, из которого вы загружаете страницы.

IE делает некоторые исключения из SOP из локальных файлов, но это краевые ситуации, и вы не должны беспокоиться о них.

+0

Спасибо Аноним, вы имеете в виду локальные файлы js и html, то же самое правило источника происхождения не применяется? – George2

+0

Если да, есть ли у вас какие-либо документы для подтверждения? – George2

+1

Нет, есть только несколько исключений для SOP в IE, в FF вы можете отключить его настройку предпочтения примерно: config см. Http://kb.mozillazine.org/Security.fileuri.strict_origin_policy. Но я действительно думаю, что вы должны проверить свой код ajax, поскольку он предназначен для использования. –

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