Какие знаешь способы обхода CORS со стороны backend

«Какие знаешь способы обхода CORS со стороны backend» — вопрос из категории Безопасность, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. CORS Headers – настройка сервера для добавления заголовков Access-Control-Allow-Origin, Access-Control-Allow-Methods и других. Пример для Node.js + Express:
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
  next();
});
  1. Proxy-сервер – запросы идут через промежуточный сервер, который добавляет нужные заголовки. Например, Nginx:
location /api {
  proxy_pass http://backend;
  add_header 'Access-Control-Allow-Origin' '*';
}
  1. JSONP – устаревший метод для GET-запросов, где ответ оборачивается в callback-функцию.

  2. Preflight-запросы – сервер должен корректно обрабатывать OPTIONS-запросы для сложных методов (PUT, DELETE и т.д.).

  3. Настройка веб-сервера (Apache/Nginx) – добавление CORS-заголовков на уровне конфигурации сервера.