origin headers habilitar control chrome allow javascript ajax internet-explorer cors internet-explorer-10

headers - habilitar cors javascript



SEC7118: XMLHttpRequest CORS: mensaje de la Consola IE (4)

Estoy usando la solicitud CORS POST con todo lo cuidado como se indica en @ http://www.html5rocks.com/en/tutorials/cors/

El servidor establece el encabezado de respuesta en: ''Access-Control-Allow-Origin'': ''*'' y puedo ver este valor de encabezado en la herramienta de desarrollo de IE.

Pero en el navegador IE10 veo el mensaje de la consola como "SEC7118: XMLHttpRequest para http: // requiere el uso compartido de recursos de origen cruzado (CORS).

Cuando reviso en el sitio de Microsoft, tengo una explicación más abajo.

http://msdn.microsoft.com/en-us/ie/dn423949(v=vs.94).aspx

Sec7118

Descripción: "XMLHttpRequest for [URL] requirió el intercambio de recursos de origen cruzado (CORS)". Se realizó una XMLHttpRequest en un dominio que era diferente al dominio de su página. Esto requiere que el servidor devuelva un encabezado "Access-Control-Allow-Origin" en sus encabezados de respuesta, pero uno no fue devuelto.

Solución sugerida: el servidor debe admitir las solicitudes CORS y devolver un encabezado "Access-Control-Allow-Origin" apropiado con el recurso. Consulte CORS para XHR en IE10 para obtener más información sobre CORS en los encabezados de respuesta.

Preguntas:

  1. Quiero saber si este mensaje de consola es un error?
  2. ¿Esto causará fallas?
  3. ¿Por qué recibo este mensaje incluso después de configurar el encabezado de respuesta ''Access-Control-Allow-Origin'' en ''*''?
  4. ¿El valor ''Access-Control-Allow-Origin'' tiene que ser el nombre de origen para que IE10 funcione? Sé que * no es una muy buena opción, pero ¿IE requiere un nombre de origen exacto?

Mantuve los detalles de las URL y las cookies ocultos de estas imágenes.


Encontré SEC7118 cuando CORS se configuró correctamente. Verifiqué que las solicitudes se completaron con el estado 200 utilizando el depurador de red. Por lo tanto, puede ignorar este mensaje si su aplicación está funcionando correctamente.


He visto este error en IE11:

SEC7118: XMLHttpRequest para http: // requiere Intercambio de recursos de origen cruzado (CORS)

Añadiendo lo siguiente a mi .htaccess arreglé:

<IfModule mod_setenvif.c> <IfModule mod_headers.c> <FilesMatch "/.(cur|gif|ico|jpe?g|png|svgz?|webp)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule> </IfModule>

Referencia: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image


Sólo para patadas, desde MSDN :

Los códigos de error de seguridad tienen el formato SEC7xxx [en IE]

Perteneciente a SEC7118:

Se realizó un XMLHttpRequest a un dominio que era diferente al dominio de su página. Esto requiere que el servidor devuelva un encabezado "Access-Control-Allow-Origin" en sus encabezados de respuesta, pero uno no fue devuelto.

Nota Este código de error se eliminó en IE11 en Windows 10. Permanece en IE11 para Windows 8.1 y Windows 7.

Por lo tanto, técnicamente se considera como un error desde la perspectiva de IE, pero ciertamente no lo es (de ahí que se vaya). Access-Control-Allow-Origin se establece en un recurso, pero no necesariamente se devuelve con la solicitud. Si un recurso específico NO TIENE Access-Control-Allow-Origin:* (o un dominio), el recurso no sería accesible y el servidor probablemente devolvería un 503 o 404 y vería un verdadero mensaje de error en la consola similar a la siguiente:

XMLHttpRequest no puede cargar http://example.com/ . No hay ningún encabezado ''Access-Control-Allow-Origin'' presente en el recurso solicitado. Por lo tanto, el origen '' http://blog.example.com '' no tiene permitido el acceso.


Tuve el mismo problema. Tiene que ver con la entrega de cookies de terceros por parte de Internet Explorer. Para solucionar este problema, vaya a Herramientas> Opciones de Internet y luego seleccione la pestaña Privacidad. Si cambia la configuración a "Aceptar todas las cookies", ya no verá ese mensaje.

La forma más segura de hacer esto sería hacer clic en el botón "Sitios" y permitir las cookies de la URL de su sitio.