Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: CORS, CSRF, same-origin policy, HTTP headers, security

Как ограничить выполнение запросов на нежелательные домены?

Вопрос проверяет знание механизмов защиты от межсайтовых запросов (CSRF) и ограничения доступа к ресурсам с помощью политики CORS.

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

Для ограничения запросов на нежелательные домены используется политика CORS (Cross-Origin Resource Sharing). Сервер указывает в HTTP-заголовках, какие домены имеют доступ к его ресурсам. Например, заголовок Access-Control-Allow-Origin задает разрешенные источники. Браузер блокирует запросы с других доменов, если сервер не разрешил их.

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

Что такое CORS и зачем он нужен?

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

Как это работает?

Когда браузер отправляет кросс-доменный запрос, он сначала отправляет предварительный запрос (preflight) с методом OPTIONS. Сервер отвечает заголовками, указывающими разрешенные методы, заголовки и источники. Если ответ соответствует политике, браузер выполняет основной запрос.

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

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

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', 'https://trusted-site.com');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
  if (req.method === 'OPTIONS') {
    return res.sendStatus(200);
  }
  next();
});

app.get('/data', (req, res) => {
  res.json({ message: 'Доступ разрешен' });
});

app.listen(3000);

Дополнительные меры защиты

  • Используйте CSRF-токены для защиты от подделки запросов.
  • Ограничьте методы и заголовки, которые разрешены.
  • Не используйте звездочку (*) в Access-Control-Allow-Origin для критичных данных.

Вывод: CORS — это стандартный механизм для безопасного взаимодействия между разными доменами. Его правильная настройка предотвращает утечку данных и несанкционированный доступ.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • JavaScript

    JavaScript

  • Networks

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

#CORS

#CSRF

#same-origin policy

#HTTP headers

#security

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию