Лекция
Привет, Вы узнаете о том , что такое правило ограничения домена same-origin policy sop политика одинакового источника , Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое правило ограничения домена same-origin policy sop политика одинакового источника , настоятельно рекомендую прочитать все из категории Вредоносное ПО и защита информации.
Правило ограничения домена (Same Origin Policy, в переводе с англ. — «Принцип одинакового источника») — это важная концепция безопасности для некоторых языков программирования на стороне клиента, таких как JavaScript. Политика разрешает сценариям, находящимся на страницах одного сайта, доступ к методам и свойствам друг друга без ограничений, но предотвращает доступ к большинству методов и свойств для страниц на разных сайтах. Одинаковые источники — это источники, у которых совпадают три признака:
Политика same-origin определяет как документ или скрипт,загруженный из одного источника (origin) может взаимодействовать с ресурсом из другого источника(origin). Это критический механизм безопасности для для изоляции потенциально опасных документов.
Две страницы имеют одинаковый origin (источник) если протокол , порт (если указан), и хост одинаковы для обоих страниц. Время от времени, вы можете видеть это как "scheme/host/port tuple" (где "tuple" переводится как кортеж или запись набор из трех компонент, котоорые вместе составляют единое целое).
В следующей таблице даны примеры origin-сравнений с URL http://store.company.com/dir/page.html:
URL | результат | причина |
---|---|---|
http://store.company.com/dir2/other.html | успех | |
http://store.company.com/dir/inner/another.html | успех | |
https://store.company.com/secure.html | недостаточность | Различные протоколы |
http://store.company.com:81/dir/etc.html | недостаточность | Разный порт |
http://news.company.com/dir/other.html | недостаточность | Разный хост |
Смотрите также origin definition for file: URLs.
Для иллюстрации, следующая таблица дает обзор типичных проверок для сравнения с примером 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 | Не определено | Явное указание порта. Зависит от реализации в браузере. |
Содержимое about:blankи javascript:URL-адреса наследуют источник от документа, загружающего URL-адрес, поскольку сам URL-адрес не дает никакой информации о происхождении. Об этом говорит сайт https://intellect.icu . data:URL-адреса получают новый, пустой, контекст безопасности.
Примечание: Перед Gecko 6.0 , dataURL , унаследованной контекст безопасности текущей страницы в окне браузера , если пользователь вводит dataURL в адресную строку.
Internet Explorer имеет два основных исключения, когда дело доходит до той же политики происхождения
Эти исключения являются нестандартными и не поддерживаются ни в одном другом браузере, но были бы полезны при разработке приложения для веб-приложения на базе Windows RT (или) на основе IE.
Страница может изменить свое происхождение с некоторыми ограничениями. Сценарий может установить значение document.domainдля текущего домена или супердомена текущего домена. Если он устанавливает его в супердомен текущего домена, более короткий домен используется для последующих проверок происхождения. Например, предположим, что скрипт в документе http://store.company.com/dir/other.htmlвыполняет следующую инструкцию:
document.domain = "company.com";
После выполнения этого утверждения страница может передать проверку происхождения http://company.com/dir/page.html(при условии, что она http://company.com/dir/page.htmlустанавливает document.domainзначение « company.com», чтобы указать, что она хочет это разрешить - см. document.domainБольше). Тем не менее, company.comможет не установить , document.domainчтобы othercompany.comтак , что не является супердомен company.com.
Номер порта хранится отдельно браузером. Любой вызов сеттера, в том числе document.domain = document.domainвызывает перезапись номера порта null. Поэтому один не может сделать company.com:8080разговор с company.comпомощью только установив document.domain = "company.com"в первом. Он должен быть установлен как для обоих номеров портов null.
Примечание. При использовании, document.domainчтобы позволить субдомену безопасно обращаться к своему родителю, вам необходимо установить document.domainодно и то же значение как в родительском домене, так и в субдомене. Это необходимо, даже если это просто возвращает родительский домен к его исходному значению. Несоблюдение этого может привести к ошибкам разрешения.
Политика одинакового происхождения контролирует взаимодействия между двумя разными источниками, например, когда вы используете XMLHttpRequestили <img>элемент. Эти взаимодействия обычно подразделяются на три категории:
Вот несколько примеров ресурсов, которые могут быть внедрены в кросс-происхождение:
Используйте CORS, чтобы разрешить доступ к кросс-началу.
JavaScript API , такие как iframe.contentWindow, window.parent, window.openи window.openerпозволяют документы непосредственно ссылаться друг на друга. Если два документа не имеют одинакового происхождения, эти ссылки обеспечивают очень ограниченный доступ Windowи Locationобъекты, как описано в следующих двух разделах.
Для связи между документами из разных источников используйте window.postMessage.
Спецификация: http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#security-window .
WindowДопускается доступ к свойствам, доступным по нескольким причинам:
методы |
---|
window.blur |
window.close |
window.focus |
window.postMessage |
Атрибуты | |
---|---|
window.closed | Только чтение. |
window.frames | Только чтение. |
window.length | Только чтение. |
window.location | Читай пиши. |
window.opener | Только чтение. |
window.parent | Только чтение. |
window.self | Только чтение. |
window.top | Только чтение. |
window.window | Только чтение. |
Некоторые браузеры позволяют получить доступ к большему количеству свойств, чем позволяет спецификация.
Спецификация: http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#security-location .
LocationДопускается доступ к свойствам, доступным по нескольким причинам:
методы |
---|
location.replace |
Атрибуты | |
---|---|
URLUtils.href | Напишите только. |
Некоторые браузеры позволяют получить доступ к большему количеству свойств, чем позволяет спецификация.
Доступ к данным, хранящимся в браузере, например localStorage и IndexedDB , разделяется по происхождению. Каждое происхождение получает свое отдельное хранилище, а JavaScript в одном источнике не может читать или записывать на хранение, принадлежащее другому источнику.
Cookies используют отдельное определение происхождения. Страница может устанавливать cookie для своего домена или любого родительского домена, если родительский домен не является общедоступным суффиксом. Firefox и Chrome используют публичный список суффикса, чтобы определить, является ли домен общедоступным суффикс. Internet Explorer использует свой собственный внутренний метод, чтобы определить, является ли домен публичным суффикс. Браузер сделает cookie доступным для данного домена, включая любые поддомены, независимо от того, какой протокол (HTTP / HTTPS) или порт используется. Когда вы устанавливаете файл cookie, вы можете ограничить его доступность с помощью флагов Domain, Path, Secure и Http-Only. Когда вы читаете файл cookie, вы не можете видеть, откуда он был установлен. Даже если вы используете только безопасные соединения https, любой файл cookie, который вы видите, может быть установлен с использованием небезопасного соединения.
Анализ данных, представленных в статье про правило ограничения домена same-origin policy sop политика одинакового источника , подтверждает эффективность применения современных технологий для обеспечения инновационного развития и улучшения качества жизни в различных сферах. Надеюсь, что теперь ты понял что такое правило ограничения домена same-origin policy sop политика одинакового источника и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Вредоносное ПО и защита информации
Комментарии
Оставить комментарий
Информационная безопасность, Вредоносное ПО и защита информации
Термины: Информационная безопасность, Вредоносное ПО и защита информации