Sobes.tech
Назад к вопросам
Middle
3

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

Компании, где спрашивали
fabriqeue

Ответ от нейросети

sobes.tech AI

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

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

  • Когда браузер делает запрос с одного домена на другой (например, с example.com на api.example.org), он автоматически добавляет заголовок Origin с указанием источника.
  • Сервер, получив запрос, проверяет этот заголовок и решает, разрешить ли запрос, добавляя в ответ заголовок Access-Control-Allow-Origin с разрешённым доменом.
  • Если заголовок отсутствует или домен не совпадает, браузер блокирует доступ к ответу.

Для сложных запросов (например, с методом POST и нестандартными заголовками) браузер сначала отправляет preflight-запрос OPTIONS, чтобы проверить разрешения.

Пример настройки CORS в Python с Flask и расширением flask-cors:

from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app, resources={r"/api/*": {"origins": "https://example.com"}})

@app.route('/api/data')
def data():
    return {'key': 'value'}

Здесь сервер разрешит запросы только с домена https://example.com к маршрутам, начинающимся с /api/.