Back to questions
Middle
4
Что такое CORS, зачем нужен и как работает?
Companies where asked
fabriqeue
Answer from AI
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/.