"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué CORS no trabaja en mi aplicación PHP?

¿Por qué CORS no trabaja en mi aplicación PHP?

Publicado el 2025-04-15
Navegar:214

Why Is CORS Not Working in My PHP Application?

cors que no funciona en php

en el intercambio de recursos de origen cruzado (Cors), una página web puede solicitar recursos de otro origen, que generalmente involucra diferentes dominios, puertos o protocolos. Sin embargo, de forma predeterminada, los navegadores restringen tales solicitudes debido a las preocupaciones de seguridad.

En el escenario dado, el usuario está intentando una solicitud de publicación de www.siteone.com a www.sitetwo.com usando CORS. El error encontrado sugiere que hay un desajuste entre los encabezados de solicitud y respuesta.

para configurar CORS correctamente, es crucial manejarlo cuidadosamente. La siguiente función PHP proporciona un enfoque más integral:

// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400');    // cache for 1 day
}

// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

    exit(0);
}

echo "You have CORS!";

reemplazando el código original con esta función mejorada, el usuario resolvió con éxito el problema CORS. Este enfoque asegura que todos los encabezados necesarios se establezcan adecuadamente, permitiendo que las solicitudes de origen cruzado funcionen según lo previsto.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3