как решить проблему с cors в php разрешив все заголовки

Аватар пользователя Nikolai Gagarinov
Nikolai Gagarinov
17 февраля 2025

Нужно установить заголовки HTTP в ответе на запросы. Обычно это делается в начале PHP-скрипта. Пример кода:

<?php
// Разрешить все источники
header("Access-Control-Allow-Origin: *");

// Разрешить все заголовки
header("Access-Control-Allow-Headers: *");

// Разрешить методы для использования
header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");

// Если хотим обрабатывать предзапросы (OPTIONS)
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    // Это может быть полезно для некоторых браузеров и сценариев
    http_response_code(200);
    exit;
}

Хотя использование Access-Control-Allow-Origin: * удобно в разработке, не забывайте о безопасности. В прод-среде лучше явно указывать допустимые источники. Например:

$allowedOrigins = ['https://example.com', 'https://anotherdomain.com'];
$httpOrigin = $_SERVER['HTTP_ORIGIN'];

if (in_array(, $allowedOrigins)) {
    header("Access-Control-Allow-Origin: {$httpOrigin}");
}

Во фреймворках обычно есть механизмы настройки CORS к примеру можно глянуть доку Ларавел

0 0
Познакомьтесь с основами PHP бесплатно

Похожие вопросы