Выберите язык

Регистрация

CORS (Cross-Origin Resource Sharing) — механизм HTTP-заголовков, с помощью которого сервер разрешает браузеру доступ к ответам из другого origin. Для Joomla это важно при запросах из внешнего веб-приложения или загрузке отдельных ресурсов.

Что такое origin и preflight

Origin определяется схемой, именем узла и портом. Два поддомена или HTTP и HTTPS могут иметь разные origin. Для некоторых запросов браузер сначала отправляет предварительный OPTIONS-запрос, чтобы проверить допустимые метод и заголовки.

Если правила не подходят, браузер ограничивает доступ JavaScript к ответу. При этом сервер мог уже получить запрос, поэтому CORS не заменяет авторизацию и защиту от CSRF. Серверные клиенты не обязаны соблюдать браузерные ограничения CORS.

Проверка в Joomla

При интеграции Joomla проверяют запрос из конкретного разрешённого приложения, preflight и итоговый ответ. Заголовки могут формировать приложение, веб-сервер или прокси. Противоречащие дубли заголовков способны нарушить доступ.

Для запросов с учётными данными нельзя просто сочетать разрешение любого origin через звёздочку с разрешением credentials. Список источников должен соответствовать нужной интеграции Joomla. Ошибку CORS диагностируют отдельно от неверного адреса и ответа сервера с ошибкой.

Вывод

CORS управляет браузерным доступом между origin. Права пользователя, безопасная обработка запроса и проверка сервера остаются самостоятельными задачами.

Список терминов
Весь глоссарий
Подписка на рассылку
Введите свой адрес электронной почты, и мы будем держать вас в курсе событий!

Joomla.center не связан с проектом Joomla!® или организацией Open Source Matters и не получает от них поддержки. Название и логотип Joomla!® используются на основании ограниченной лицензии, предоставленной Open Source Matters, владельцем товарного знака в США и других странах.