Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

172
Vistas
¿Por qué este simple archivo PHP no tiene CORS funcionando?

Tengo un archivo PHP muy simple en un servidor Apache que debe responder a una solicitud de Ajax. Estoy tratando de permitir CORS pero no funciona (la consola de Firefox muestra: Motivo: Falta el encabezado CORS 'Access-Control-Allow-Origin' ).

Intento diferentes soluciones de esta pregunta pero no funciona. No estoy usando ningún marco, solo un archivo index.php en un servidor Apache.

Este código es el más simple que encontré pero no funciona ( index.php ):

 <?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Credentials: true"); header("Access-Control-Max-Age: 1000"); header("Access-Control-Allow-Headers: X-Requested-With, Content-Type, Origin, Cache-Control, Pragma, Authorization, Accept, Accept-Encoding"); header("Access-Control-Allow-Methods: PUT, POST, GET, OPTIONS, DELETE"); echo('CORS activated!!!'); ?>

Mi archivo HTML:

 $.ajax({ type: 'GET', url: 'http://localhost/index.php', }) .done(function(data) { console.log('Do I have CORS?: ' + data); }) .fail(function() { alert("Error"); });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Posibilidad 1: por MDN , no puede usar el comodín ( * ) para Access-Control-Allow-Origin si también usa Access-Control-Allow-Credentials .

Para solicitudes sin credenciales, se puede especificar el valor literal "*", como comodín; el valor le dice a los navegadores que permitan solicitar código de cualquier origen para acceder al recurso. Si intenta utilizar el comodín con las credenciales, se producirá un error.

 <?php header("Access-Control-Allow-Origin: *"); //Either change this to your domain(s) header("Access-Control-Allow-Credentials: true"); //Or get rid of this ?>

(La razón es: esta combinación permitiría que cualquier persona en Internet se haga pasar por uno de sus usuarios cargando su dominio en un iframe y luego manipulándolo con JS, de manera completamente invisible).

Probablemente sea eso, pero lo siguiente podría ayudar con las pruebas de todos modos:

Posibilidad 2: su index.php se almacena en caché, por lo que después de realizar los cambios, su navegador aún ve la versión anterior. La característica de 'deshabilitar caché' en la consola de desarrollo puede no ser confiable para algunas cosas como iframes y recursos de URL CSS. Intente visitar index.php desde una sesión de navegación privada y verifique qué encabezados se envían en la consola de desarrollo.

Encabezados HTTP de la consola de desarrollo

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda