Что такое SOP — Same-Origin Policy?

Политика одного источника в браузере: что входит в origin, какие межсайтовые действия ограничиваются и почему SOP не заменяет защиту от CSRF.

Короткий ответ

Что ответить на собеседовании

Same-Origin Policy ограничивает взаимодействие страницы со страницами и ресурсами другого origin. Для обычных HTTP-адресов origin задается схемой, хостом и портом, а не путем. Особенно важно ограничение чтения чужих данных скриптом. SOP не запрещает вообще все межсайтовые запросы; CORS позволяет явно разрешать определенное чтение, а CSRF требует отдельной защиты.

Подробный разбор

Ответ с пояснениями

Same-Origin Policy, или политика одного источника, — механизм браузерной изоляции. Он не позволяет скрипту одной страницы произвольно читать данные другого источника и управлять его документом.

Для HTTP-адресов origin — сочетание схемы, хоста и порта. Например, https://example.com/a и https://example.com/b относятся к одному origin. Замена HTTPS на HTTP, хоста на api.example.com или порта на 8443 создает другой origin. Путь и параметры запроса в это сравнение не входят.

Нельзя сводить SOP к запрету любых запросов на другой сайт. Навигация, отправка некоторых форм и встраивание ряда ресурсов допускаются, но чтение ответа скриптом ограничивается. Это различие подробно описано в MDN: Same-origin policy.

CORS позволяет серверу явно обозначить разрешенный межсайтовый доступ в поддерживаемых браузером сценариях. Он не заменяет аутентификацию и проверку полномочий на сервере. Клиент вне браузера не обязан применять браузерную SOP.

CSRF — отдельная проблема: нежелательное действие может быть запущено запросом даже тогда, когда атакующая страница не умеет прочитать ответ. Поэтому нужны соответствующие защита запросов и политика cookies.

Не путайте origin и site: правила SameSite для cookies используют другое понятие границы. На интервью полезно сначала объяснить, кто применяет ограничение, затем разобрать конкретные адреса и только после этого обсуждать исключения. Отключение браузерной защиты не является исправлением неверной настройки приложения.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку