Access-Control-Allow-Origin sin AJAX

3

Esta respuesta (¿de forma incorrecta?) indica

  

No, siempre que CORS Access-Control-Allow-Origin esté en su valor restrictivo predeterminado. Esto evita que el sitio web externo acceda al sitio enmarcado a través de Javascript / etc.

Sin embargo, estaba bastante seguro de que no se puede acceder a un sitio web enmarcado a menos que sea el mismo dominio, independientemente de la configuración de CORS:

por ejemplo esta respuesta

  

un iFrame no puede leer el contenido de otro iFrame a menos que estén   en el mismo dominio.

y esta respuesta

  

Los marcos tienen derechos de script y protecciones otorgadas por la Política del mismo origen. Un script que se ejecuta en un padre no puede leer el contenido de un iframe secundario de otro dominio.

Entonces, mi pregunta es, si se implementa CORS, ¿es posible que un dominio lea contenido de otro dominio sin emitir una solicitud AJAX?

por ejemplo en el primer post

  

Victor puede verificar el contenido del HTML que recupera y verificar también todos los scripts a los que se hace referencia.

¿Cómo se lograría esto? ¿Se puede lograr sin AJAX (es decir, es posible leer marcos cruzados oa través de cualquier mecanismo en el DOM, o se trata de un sitio que emite una solicitud AJAX al otro?).

    
pregunta SilverlightFox 06.11.2013 - 11:42
fuente

1 respuesta

2

El intercambio de recursos de origen cruzado es peligroso, y se ha puesto más esfuerzo en bloquear el SOP que las tecnologías como CORS que doblan las reglas. Al final del día no quiero que la gente lea mi correo electrónico porque estoy visitando su sitio web. (¡Necesitan ganar ese derecho con un día cero!)

CORS es estrictamente una característica de JavaScript. Aunque no lo había pensado hasta esta publicación, pero ¿por qué CORS no debería usarse para romper otras reglas de SOP? Esto se puede implementar de manera segura, y lo que es más importante, sería regular.

¿Puede un dominio acceder a otro dominio sin Ajax y CORS? La respuesta es sí, después de todo tuvimos una solución a este problema antes de CORS. Antes de CORS, había dos formas principales en que las aplicaciones web rompían el SOP. El primer método es usar un Proxy de dominio cruzado que es un componente del lado del servidor para obtener contenido inaccesible en nombre del cliente. El segundo método es XSS , sí, la gente implementó intencionalmente una vulnerabilidad de XSS para compartir recursos, lo cual es indiscriminado. Como resultado, CORS es fuertemente preferido sobre estos métodos.

    
respondido por el rook 06.11.2013 - 17:33
fuente

Lea otras preguntas en las etiquetas