Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda