Включает ли звездочка / wildcard CORS как зашифрованные, так и незашифрованные источники?

Вопрос или проблема

Включает ли звездочка / подстановочный символ (*) CORS как зашифрованные (https), так и нешифрованные источники (http)? И считается ли нулевой источник (например, когда локальный файл выполняет xmlhttprequest, или внутри iframe с атрибутом sandbox) http?

Подстановочный символ охватывает все источники, как определено в стандарте Fetch. Это включает источники с схемой http и https.

Нулевой origin не считается http источником. Это совершенно отдельный непрозрачный источник. Обратите внимание, что локальные файлы обычно открываются с помощью file URL, поэтому они не обязательно имеют непрозрачный источник.

Ответ или решение

CORS (Cross-Origin Resource Sharing) – это механизм, который позволяет ограничивать доступ к ресурсам на веб-странице с одного источника (origin) со стороны скриптов, загружаемых с другого источника. Его использование стало особенно актуальным в свете растущих требований к безопасности в сети.

Популярное мнение о CORS и подстановочном знаке

Подстановочный знак (wildcard) в CORS представлен символом "*". Он позволяет указывать, что доступ разрешен для всех источников. В соответствии со стандартами, определяющими работу CORS, такой подход действительно учитывает как шифрованные (https), так и незащищенные (http) источники. Это очень важно, поскольку в современном веб-приложении могут взаимодействовать ресурсы из разных схем, и использование подстановочного знака обеспечивает гибкость при установлении безопасных соединений.

Уточнение по поводу "null" источника

С определением "null" источника дело обстоит иначе. По результатам анализа спецификаций, "null" источник не считается "http" источником. На практике это обычно происходит в следующих случаях:

  • Когда вы обращаетесь к местным файлам через локальные URL, такие как file://.
  • Если страница загружается в iframe с атрибутом sandbox, что также может привести к появлению "null" источника.

"Null" источник классифицируется как полное отдельное понятие – непрозрачный источник (opaque origin), который не имеет схемы. Это важный момент в контексте безопасности, поскольку у ресурсов с "null" источником есть свои уникальные ограничения и условия, отличающие их от стандартных "http" или "https" соединений.

Заключение

В итоге, подстановочный знак * в CORS действительно охватывает как http, так и https источники, но с "null" источником следует быть осторожными. Понимание этих нюансов позволяет лучше планировать архитектуру веб-приложений, обеспечивая как их функциональность, так и безопасность. Это знание актуально как для разработчиков, так и для системных администраторов, которых интересуют последние новые технологии в области безопасности веб-приложений.

Оцените материал
Добавить комментарий

Капча загружается...