Русская Википедия:Правило ограничения домена

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Правило ограничения домена (Same Origin Policy, Шаблон:Trf) - это важная концепция в модели безопасности веб-приложений. В рамках этой политики веб-браузер позволяет скриптам, находящимся на одной веб-странице получить данные на второй веб-странице, но только если обе веб-страницы имеют одинаковый источник (Origin). Источник состоит из комбинации URI схемы, имени домена и номера порта. Политика ограничивает вредоносным скриптам с одной веб-страницы получение доступа до чувствительной информации на другой веб-странице через DOM-дерево данной страницы.

Этот механизм имеет особое значение для современных веб-приложений, которые в значительной степени зависят от файлов HTTP cookie для поддержания аутентифицированных пользовательских сеансов. Поскольку сервера действуют на основе файлов HTTP cookie для раскрытия конфиденциальной информации или выполнения действий по изменению состояния на стороне клиента должно поддерживаться строгое разделение контента, предоставляемого несвязанными сайтами, чтобы предотвратить потерю конфиденциальных данных или нарушение целостности данных.

Очень важно помнить, что принцип одинакового источника применим только к скриптам. Это означает, что такие ресурсы, как изображения, CSS и динамически-загружаемые скрипты могут быть доступны из любого источника через соответствующие HTML-теги (исключение составляют шрифты). Атаки основываются на том факте, что принцип одинакового источника не применяется к HTML-тегам.

История

Концепция принципа одинакого источника была представлена Netscape Navigator 2.02 в 1995 году, вскоре после представления JavaScript в Netscape 2.0. JavaScript позволял использовать скрипты на веб-страницах, в частности, получить программный доступ к Document Object Model (DOM).

Принцип изначально был разработан для защиты доступа до DOM, но с тех пор он был расширен для защиты конфиденциальных частей глобальных объектов JavaScript.

Проверочная таблица

Для иллюстрации, следующая таблица даёт обзор типичных проверок для сравнения с примером URL «http://www.example.com/dir/page.html».

Сравниваемый URL Проверка Причина
http://www.example.com/dir/page.html
Да
Да
Тот же протокол и домен
http://www.example.com/dir2/other.html
Да
Да
Тот же протокол и домен
http://username:password@www.example.com/dir2/other.html
Да
Да
Тот же протокол и домен
http://www.example.com:81/dir/other.html
Нет
Нет
Тот же протокол и домен, но другой порт
https://www.example.com/dir/other.html
Нет
Нет
Отличается протокол
http://en.example.com/dir/other.html
Нет
Нет
Отличается домен
http://example.com/dir/other.html
Нет
Нет
Отличается домен (требуется полное соответствие)
http://v2.www.example.com/dir/other.html
Нет
Нет
Отличается домен (требуется полное соответствие)
http://www.example.com:80/dir/other.html Шаблон:Частично Явное указание порта. Зависит от реализации в браузере.

См. также

Ссылки