Что такое CORS защита и когда она нужна?

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

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

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Без CORS браузер блокирует такие запросы, чтобы предотвратить атаки типа Cross-Site Request Forgery (CSRF) и другие угрозы, связанные с междоменных взаимодействиями.

CORS защита нужна, когда:

  • Веб-приложение на одном домене (например, https://app.example.com) обращается к API на другом домене (https://api.example.com).
  • Нужно контролировать, какие внешние сайты могут обращаться к вашему API.

Сервер должен явно разрешить такие запросы, отправляя специальные HTTP-заголовки, например Access-Control-Allow-Origin.

Пример заголовка, разрешающего доступ с любого домена:

Access-Control-Allow-Origin: *

Или более безопасно — указать конкретный домен:

Access-Control-Allow-Origin: https://app.example.com

В Java-приложениях CORS можно настроить через фильтры или аннотации, например, с использованием Spring Framework:

@CrossOrigin(origins = "https://app.example.com")
@RestController
public class ApiController {
    // методы контроллера
}

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее