Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: web security, cors, cross origin

Что такое CORS

Вопрос проверяет понимание механизма CORS и его роли в веб-безопасности.

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

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

Длинный ответ

CORS — это важный механизм веб-безопасности, который контролирует доступ к ресурсам между разными доменами.

Как работает CORS:

  1. Браузер отправляет предварительный запрос (preflight) OPTIONS для проверки разрешений

  2. Сервер отвечает с заголовками, указывающими разрешенные origins, методы и headers

  3. Если запрос разрешен, браузер отправляет основной запрос

Основные заголовки CORS:

  • Access-Control-Allow-Origin: разрешенные домены

  • Access-Control-Allow-Methods: разрешенные HTTP-методы

  • Access-Control-Allow-Headers: разрешенные заголовки

Пример настройки в Express.js:

const express = require('express');
const cors = require('cors');

const app = express();

// Простая настройка
app.use(cors());

// Кастомная настройка
app.use(cors({
  origin: 'https://example.com',
  methods: ['GET', 'POST'],
  allowedHeaders: ['Content-Type']
}));

Когда возникает ошибка CORS:

  • При запросах между разными доменами

  • При использовании нестандартных заголовков

  • При запросах с credentials (куки, авторизация)

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#web security

#cors

#cross origin

Подпишись на Node.js Developer в телеграм