Веб и безопасность приложений

Политика одного источника (SOP)

Определение

Политика одного источника (SOP) — правило браузера, по которому сценарий страницы читает ответы только со своего источника: с того же сочетания схемы, имени узла и порта. Ответ чужого источника браузер сценарию не отдаёт, но запрос до сервера доходит и может быть выполнен.

Также ищут: Same-origin policy · SOP · browser origin isolation

Зачем это знать

Она ограничивает доступ сценария к чужим данным, но не заменяет серверную проверку подлинности, прав и защиту от CSRF.

Доказательная часть

Что подтверждено

  1. Веб-источник определяется схемой, именем узла и портом; изменение любого компонента обычно создаёт другой источник.

    Граница применимости: Представление и сравнение веб-источников.

  2. Политика прежде всего ограничивает чтение данных и взаимодействие сценариев между источниками; браузер всё ещё может отправлять некоторые запросы с автоматическими учётными данными.

    Граница применимости: Различие между изоляцией браузера и отправкой запросов.

  3. Разные пути одного HTTPS-узла при одинаковом порте не создают разные источники. Разнести приложения по каталогам URL недостаточно для изоляции их как разных источников браузера.

    Граница применимости: Обычные источники HTTP(S) по RFC 6454; непрозрачные источники и специальные схемы не рассматриваются.

  4. Если браузер не отдаёт сценарию ответ другого источника, это не означает, что сервер не получил запрос. Запрет чтения не отменяет уже выполненное изменение состояния.

    Граница применимости: Разрешённые к отправке межсайтовые запросы; не утверждает, что браузер отправляет любой запрос без предварительной проверки.

  5. При явно заданном регистрируемом домене shop.example адреса https://app.shop.example и https://api.shop.example относятся к одному сайту HTTPS, но к разным источникам. Для чтения ответа сценарием применяются правила источника и CORS, а не только SameSite.

    Граница применимости: Учебный пример с фиксированной границей регистрируемого домена shop.example; не выводится из похожести произвольных имён.

Граница терминов

Не путать

Политика одного источника (SOP) Доступ между источниками (CORS)

CORS описывает условия предоставления ответа другому источнику; разделение источников сохраняется.

Политика одного источника (SOP) Атрибут cookie SameSite

Источник включает схему, имя узла и порт. Модель сайта для SameSite использует другую границу и не подменяет изоляцию источников.

Перед спецификацией

Что проверить

  1. Выпишите схему, имя узла и порт каждого интерфейса.
  2. Не считайте разные пути разными источниками.
  3. Для примера сайта явно задайте регистрируемый домен.
  4. Разделите отправку запроса и чтение его ответа.
  5. Проверьте CORS для нужных источников.
  6. Отдельно проверьте автоматическую отправку cookie.
  7. Сохраняйте серверную защиту операций, изменяющих состояние.
Открытые основания

Первоисточники

  • Стандарт3
  • Документация2
  • Первичная спецификация
    The Web Origin Concept Internet Engineering Task Force · RFC 6454, December 2011 · проверено

    Определяет origin как scheme, host и port и описывает origin-based browser isolation model.

    Утверждения: 01 · 02 · 03 · 04 · 05

  • Первичная спецификация
    Fetch Standard WHATWG · Living Standard, capture 2026-09-12, revision 394d20d144ed1401c2c0e02c35bc3608cb2a2269 · проверено

    Определяет CORS protocol, credentials modes, allowed origins и CORS-preflight fetch через OPTIONS.

    Утверждения: 02 · 04

  • Официальная документация
    Cross-Site Request Forgery Prevention Cheat Sheet OWASP Foundation · OWASP Cross-Site Request Forgery Prevention Cheat Sheet, 2026-09-12 capture · проверено

    Разводит CSRF tokens, SameSite и origin checks и задаёт свойства synchronizer и signed double-submit tokens.

    Утверждения: 02 · 04

  • Официальная документация
    Cookies: HTTP State Management Mechanism (6265bis) Internet Engineering Task Force · Internet-Draft draft-ietf-httpbis-rfc6265bis-22 · проверено

    Рабочий документ HTTP WG, определяющий атрибут SameSite (Strict, Lax, None) и требование Secure для None. Это не RFC: класс основания ниже стандарта намеренно.

    Утверждения: 05

  • Первичная спецификация
    Fetch Standard WHATWG · Living Standard, checked 30 August 2026 · проверено

    Определяет CORS protocol, credentials modes, allowed origins и CORS-preflight fetch через OPTIONS.

    Утверждения: 05

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие